在我的某个应用中,我想让用户选择一个网络浏览器,并希望选择"一次"和"永远"他们可以使用。
现在我正在使用:
Intent webIntent = new Intent(Intent.ACTION_VIEW);
webIntent.setData(Uri.parse("http://www.google.com"));
webIntent.setComponent(new ComponentName("android","com.android.internal.app.ResolverActivity"));
startActivity(webIntent);
得到以下结果:
虽然这允许选择应用并拥有我需要的选项,但要将Chrome设置为默认设置,用户首先必须点击Chrome,然后再次启用此对话框以将Chrome设置为默认值(它将显示在Firefox的地方。)
但我想要达到的目标是:
我尝试了不同的方法,我可以找到没有运气的SO。 任何建议都表示赞赏。
答案 0 :(得分:0)
正如Mimmo所说,你无法改变系统选择器的行为,而且Android 5.0+选择器只允许用户通过" Always"将最后访问过的应用程序设为默认值。此外,出于明显的安全原因,您无法自行设置默认应用程序。
我还强烈建议您摆脱setComponent()
电话,因为这不太适用于所有Android设备。设备制造商可以而且确实改变选择器之类的东西,这可能涉及不同包中的不同类。