实际上,我需要从我的应用程序中打开默认的下载文件夹。可以吗?如果可以,请提供一些参考。
我可以在以下帮助下获取下载文件夹的路径:
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
任何帮助都将不胜感激。
我在三星和LG的下载中显示文件时遇到了类似的问题,我刚刚为DownloadManager添加了文件参数“downloaded”,并在下载中显示文件:
DownloadManager downloadManager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
downloadManager.addCompletedDownload(file.getName(), file.getName(), true,
"application", file.getPath(), file.length(), true);
三星解决方案:
public static void openDownloads(@NonNull Activity activity) {
if (isSamsung()) {
Intent intent = activity.getPackageManager()
.getLaunchIntentForPackage("com.sec.android.app.myfiles");
intent.setAction("samsung.myfiles.intent.action.LAUNCH_MY_FILES");
intent.putExtra("samsung.myfiles.intent.extra.START_PATH",
getDownloadsFile().getPath());
activity.startActivity(intent);
}
else activity.startActivity(new Intent(DownloadManager.ACTION_VIEW_DOWNLOADS));
}
public static boolean isSamsung() {
String manufacturer = Build.MANUFACTURER;
if (manufacturer != null) return manufacturer.toLowerCase().equals("samsung");
return false;
}
public static File getDownloadsFile() {
return Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
}
通过反编译Samsung My Files应用程序dex并查看MainActivity如何处理意图发现。
public static final String MYFILES_NOTIFICATION_LAUNCH_INTENT_NAME = "samsung.myfiles.intent.action.LAUNCH_MY_FILES";
public static final String NOTIFICATION_START_PATH = "samsung.myfiles.intent.extra.START_PATH";
public static final String START_PATH = "FOLDERPATH";
if (Constant.MYFILES_NOTIFICATION_LAUNCH_INTENT_NAME.equals(intent.getAction())) {
String startNotificationPath = intent.getStringExtra(Constant.NOTIFICATION_START_PATH);
if (startNotificationPath != null) {
Bundle newArgument = new Bundle();
newArgument.putString(Constant.START_PATH, startNotificationPath);
if (new File(startNotificationPath).exists()) {
startBrowser(513, newArgument);
}
}
intent.removeExtra(Constant.NOTIFICATION_START_PATH);
}
问题内容: 实际上,我需要从应用程序中打开默认的“下载”文件夹。可能吗?如果是,请提供一些参考。 我可以借助以下方法获得“下载”文件夹的路径: 任何帮助将不胜感激。 问题答案: 您可以使用以下内容显示最近的下载活动 自API 9起可用
我在sdcard中的某个文件夹中有一些pdf文件。我创建了一个将所有pdf显示为ListView的应用程序。当我单击任何pdf文件时,它会在officeSuite应用程序(不支持或损坏文件格式)中出现错误。代码有问题。这是代码。 //显示为ListVIew的项目代码 //打开文件的代码VIA Intent 错误: 损坏或不支持的文件格式
问题内容: 如何通过单击任何链接打开本地文件夹视图? 我尝试了很多选择 要么 要么 问题答案: 由于安全性限制,在所有现代浏览器中都禁止链接到本地资源。 对于Firefox: 为了安全起见,Mozilla应用程序阻止从远程文件到本地文件(和目录)的链接。这包括链接到硬盘驱动器,映射的网络驱动器上的文件,以及通过统一命名约定(UNC)路径访问的文件。这样可以避免许多不愉快的可能性,包括: 允许站
问题内容: 我正在通过puppeteer将文件下载到我的目录中。我需要将此文件上传到s3存储桶,因此我需要选择文件名。但是问题是,此文件名的时间戳每次都会更改,因此我无法保留硬编码名称。那么有没有办法解决这个问题,以便每次都获得一个常量名称(即使替换了旧文件),或者如何重命名正在下载的文件? 我想到了使用节点的fs.rename()函数,但这又需要当前的文件名。 我想要一个恒定的文件名来进行硬编码
我对maven有依赖性问题。我曾经拥有位于maven central的saxon 8.7。然后,我不得不升级到最新的saxon-B9.1。0.0,仅部分位于maven central上。 这是我的依赖项的一个片段: 第一个工件“saxon”在maven central上可用,但第二个工件“saxon dom”可用。这是我想要的人工制品。 我可以告诉maven下载“jar”文件吗?或者我必须下载ja
我所尝试的: 显然,可以解决SDK<=29的问题。然而,我没有测试它,因为我想首先检查一个Android Q的解决方案。 getExternalStoragePublicDirectory表示: 是否可以在Android Q(SDK>=29)中以编程方式列出下载的文件?如果是,怎么做?