gpt4 book ai didi

android - 为 Zip 文件选择 Intent

转载 作者:行者123 更新时间:2023-12-05 00:14:21 26 4
gpt4 key购买 nike

我有一个从 url 下载的 zip 文件,它的路径设置为 /storage/emulated/0/myapp/downloadedfile.zip

现在我想通过选择 Intent 打开这个 zip 文件以列出可用的应用程序来打开下载的文件。

我已经在 list 中设置了这个:

 <activity
android:name=".MyApp"
android:alwaysRetainTaskState="true"
android:launchMode="singleInstance"
android:theme="@style/MyMaterialTheme">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="application/zip"/>
</intent-filter>
</activity>

现在我调用这种方式来打开 Intent 选择器

File downloadedfile = new File(Environment.getExternalStoragePublicDirectory(Environment.getExternalStorageDirectory() + "/myapp") + "/" + "downloadedfile.zip");
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(downloadedfile), "application/zip");
startActivity(intent);

如果我已经在我的应用程序上安装了 ESFileExplorer,这会很好用

但我想检查是否有任何预安装的应用程序可用,否则我需要将 playstore 作为选项之一显示,以便用户可以下载应用程序并安装 ESFileExplorer 应用程序。

那我该怎么做呢?

最佳答案

Android Intent 压缩文件

try{
File downloadedfile = new File(Environment.getExternalStoragePublicDirectory(Environment.getExternalStorageDirectory() + "/myapp") + "/" + "downloadedfile.zip");
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(downloadedfile), "application/zip");
startActivity(intent);
}catch (ActivityNotFoundException Ae){
//When No application can perform zip file
Uri uri = Uri.parse("market://search?q=" + "application/zip");
Intent myAppLinkToMarket = new Intent(Intent.ACTION_VIEW, uri);

try {
startActivity(myAppLinkToMarket);
} catch (ActivityNotFoundException e) {
//the device hasn't installed Google Play
Toast.makeText(MainActivity.this, "You don't have Google Play installed", Toast.LENGTH_LONG).show();
}
}

关于android - 为 Zip 文件选择 Intent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36007188/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com