Для Oreo
Uri uri = data.getData();
File file = new File(uri.getPath());//create path from uri
final String[] split = file.getPath().split(":");//split the path.
filePath = split[1];//assign it to a string(your choice).
Для всех версий ниже Oreo я сделал этот метод, который получает реальный путь от Uri
@SuppressLint("NewApi")
public static String getFilePath(Context context, Uri uri) throws URISyntaxException {
String selection = null;
String[] selectionArgs = null;
// Uri is different in versions after KITKAT (Android 4.4), we need to
if (Build.VERSION.SDK_INT >= 19 && DocumentsContract.isDocumentUri(context.getApplicationContext(), uri)) {
if (isExternalStorageDocument(uri)) {
final String docId = DocumentsContract.getDocumentId(uri);
final String[] split = docId.split(":");
return Environment.getExternalStorageDirectory() + "/" + split[1];
} else if (isDownloadsDocument(uri)) {
final String id = DocumentsContract.getDocumentId(uri);
uri = ContentUris.withAppendedId(
Uri.parse("content://downloads/public_downloads"), Long.valueOf(id));
} else if (isMediaDocument(uri)) {
final String docId = DocumentsContract.getDocumentId(uri);
final String[] split = docId.split(":");
final String type = split[0];
if ("image".equals(type)) {
uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
} else if ("video".equals(type)) {
uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
} else if ("audio".equals(type)) {
uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
}
selection = "_id=?";
selectionArgs = new String[]{
split[1]
};
}
}
if ("content".equalsIgnoreCase(uri.getScheme())) {
if (isGooglePhotosUri(uri)) {
return uri.getLastPathSegment();
}
String[] projection = {
MediaStore.Images.Media.DATA
};
Cursor cursor = null;
try {
cursor = context.getContentResolver()
.query(uri, projection, selection, selectionArgs, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
if (cursor.moveToFirst()) {
return cursor.getString(column_index);
}
} catch (Exception e) {
e.printStackTrace();
}
} else if ("file".equalsIgnoreCase(uri.getScheme())) {
return uri.getPath();
}
return null;
}
public static boolean isExternalStorageDocument(Uri uri) {
return "com.android.externalstorage.documents".equals(uri.getAuthority());
}
public static boolean isDownloadsDocument(Uri uri) {
return "com.android.providers.downloads.documents".equals(uri.getAuthority());
}
public static boolean isMediaDocument(Uri uri) {
return "com.android.providers.media.documents".equals(uri.getAuthority());
}
public static boolean isGooglePhotosUri(Uri uri) {
return "com.google.android.apps.photos.content".equals(uri.getAuthority());
}
Я думаю, вам понадобится org.mortbay.jetty.serveradaptor.1.0.4.jar для установки адаптера причала, загрузите с http://www.webtide.com/eclipse , поместите его в плагины eclipse.
Надеюсь, ответ может вам помочь.
jQuery.js занимает всего 15 КБ, если вы используете минифицированную версию, и они бы полностью отсутствовали, если бы вы использовали тему, которая этого не требует.
Вероятно, вам стоит поискать легкую тему без jQuery вместо того, чтобы взламывать ее, а затем видеть, что тема ломается в нескольких местах, потому что они ищут эти файлы js.
Я также обнаружил, что мне нужно вручную установить все элементы адаптера WST, чтобы обойти отказавшие зависимости, например:
«Разработка Web, XML и Java EE-> Серверные адаптеры JST», «Серверные адаптеры WST»
, а также элементы «Разработка базы данных». Я не уверен, что требовалось ... когда я установил все, что казалось вероятным, все мои проблемы с зависимостями были решены при установке серверных адаптеров Glassfish и Jetty с их сайтов обновлений.
Я также обнаружил, что мне нужно вручную установить все элементы адаптера WST, чтобы обойти отказавшие зависимости, например:
«Разработка Web, XML и Java EE-> Серверные адаптеры JST», «Серверные адаптеры WST»
, а также элементы «Разработка базы данных». Я не уверен, что требовалось ... когда я установил все, что казалось вероятным, все мои проблемы с зависимостями были решены при установке серверных адаптеров Glassfish и Jetty с их сайтов обновлений.