我正在开发一个 Android 应用程序,当用户点击链接和/或文件时,我想让他们选择要使用哪个应用程序来打开该链接和/或文件。目前它按预期方式工作,但我无法尝试让用户选择一个复选框,让他们选择默认应用程序来打开该文件,这样他们就不必每次都选择它。我正在考虑在对话框中有一个复选框,然后将它的值与应用程序选项一起提交给共享首选项。之后,每次他们单击该文件时,都会打开默认应用程序。本质上,我正在尝试获得像这样的对话,
但我一直收到这个,
代码如下:
Intent intent = new Intent(Intent.ACTION_VIEW).setDataAndType(uri, mimeChoice);
startActivity(Intent.createChooser(intent,getActivity().getString(R.string.open_with_title)));
最佳答案
就像 tambykojak 指出的那样,“Android 操作系统将根据您构建的 Intent 来解决这个问题”并且没有默认应用程序的选项。但是您将通过获取由包确定的已安装应用程序来构建自己的自定义对话框: 例如:
Facebook:“com.facebook.katana”; Whatsapp: "com.whatsapp"; 推特:“com.twitter.android”; Google Playstore:“com.android.vending”; Chrome:“com.android.chrome”等...
并在首选项中保存“默认”选项。
更多信息:
How to force Share Intent to open a specific app?
How to filter specific apps for ACTION_SEND intent (and set a different text for each app)
关于java - Android Intent 选择设置默认应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22887705/