用例:
public static ArrayList<FileModel> getExternalPDFFileList(Context context) {
ArrayList<FileModel> uriList = new ArrayList<>();
try {
ContentResolver cr = context.getContentResolver();
String[] projection = {MediaStore.Files.FileColumns._ID, MediaStore.Files.FileColumns.DISPLAY_NAME};
String selection = MediaStore.Files.FileColumns.MEDIA_TYPE + "="
+ MediaStore.Files.FileColumns.MEDIA_TYPE;
String[] selectionArgs = null;
String selectionMimeType = MediaStore.Files.FileColumns.MIME_TYPE + "=?";
String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension("pdf");
String[] selectionArgsPdf = new String[]{mimeType};
String sortOrder = android.provider.MediaStore.Files.FileColumns.DATE_TAKEN + " DESC";
Cursor cursor = cr.query(extUri, projection, selectionMimeType, selectionArgsPdf, sortOrder + " DESC");
assert cursor != null;
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
int columnIndex = cursor.getColumnIndex(projection[0]);
long fileId = cursor.getLong(columnIndex);
Uri fileUri = Uri.parse(extUri.toString() + "/" + fileId);
String displayName = cursor.getString(cursor.getColumnIndex(projection[1]));
uriList.add(new FileModel(displayName, fileUri));
}
cursor.close();
} catch (Exception ex) {
ex.printStackTrace();
}
return uriList;
}
注意:在android Q之前,一旦权限启用,我们就可以获取外置存储的所有文件。但是在Android SDK-28之后,有了完全不同的文件系统。由于缺乏适当的文件,很难做小任务。
当应用程序重新安装后,我们需要权限才能读取自创建的文件吗?
问题错了。
如果你卸载你的应用程序,然后重新安装它,它被认为是一个不同的应用程序。
因此,您的应用程序无法“看到”媒体存储中的文件,这些文件是由卸载的应用程序创建的。
由于没有权限,您什么也不能做。
我对React Native是新手,首先,它是使用JSX构建跨平台应用程序的最佳框架。 很少有问题让我感到刺痛: null
当我开始创建一个新的react应用程序,并运行-npx create react app my app时,我看到在安装reactor其他模块后,它正在删除所有文件夹。下面是cmd中的代码详细信息 。。。├─ 反应-scripts@3.0.0 └─ react@16.8.6完成于422.17秒。错误:EPERM:不允许操作,打开“C:\Users\lenovo”。yarnrc' 正在中止安装。yar
我们在一个Java文件中编写一个代码,使用Gradle我们可以编译Java文件和资源文件,并制作一个APK,所以这里有一个疑问,为什么我们需要android SDK?
下午5点左右,我在两部手机上(运行版本A的phone1和运行版本B的phone2)都正确地收到了通知。下午6点左右,我只在一部手机(版本B)上收到通知,而在另一部手机(版本A)上没有。我登录了手机,查看了app store,更新了版本A->B,所以现在两部手机都有了B版本。 phone1仍然没有通知,但phone2有。然后我卸载了phone2上的应用程序,重新安装。现在,在晚上8点左右,两部手机都
运行appium程序时出现异常。请询问是否需要额外的信息。 TLDR: 原始错误:重新安装时需要“应用”选项 log4j:WARN找不到记录器(org.apache.http.client.protocol.RequestAddCookies)的追加器。log4j:警告请正确初始化log4j系统。log4j:请参阅http://logging.apache.org/log4j/1.2/faq.ht
问题内容: 我有一个使用此函数运行线程的代码示例。我们为什么以及何时需要使用它? 编辑 怎么样来使用类,什么是和? 问题答案: 当您要从非UI线程更新UI时必须使用。例如-如果您想从后台线程更新UI。您也可以将其用于同一件事。 从文档- 在UI线程上运行指定的操作。如果当前线程是UI线程,则立即执行该操作。如果当前线程不是UI线程,则将操作发布到UI线程的事件队列。 句法 - 更新- 如果您要执行