默认情况下,让app打开chrome

时间:2017-04-05 07:38:15

标签: android google-chrome android-permissions chrome-custom-tabs

我有一个可在Chrome自定义标签中打开链接的应用。但是当用户第一次运行它(并且他安装了多个浏览器)时,它会向用户提供一个弹出窗口,要求他选择默认应用程序(即你想将UCBrowser设置为默认值,还是Chrome等)

有没有我可以跳过这个弹出窗口,并且总是以我的应用程序的chrome打开?

1 个答案:

答案 0 :(得分:3)

是的,您可以将PackageManager用于此

String url = "http://www.example.com";

PackageManager pm = context.getPackageManager();
Intent launchIntent = pm.getLaunchIntentForPackage("com.android.chrome");
launchIntent.setData(Uri.parse(url));
if (launchIntent != null) {
    context.startActivity(launchIntent);
} else {
    Toast.makeText(context, "Chrome not found", Toast.LENGTH_SHORT).show();
}

或者您可以在setPackage

上使用Intent方法
Intent launchIntent = new Intent();
launchIntent.setAction("android.intent.action.VIEW");
launchIntent.addCategory("android.intent.category.BROWSABLE");
launchIntent.setPackage("com.android.chrome");
launchIntent.setData(Uri.parse(url));
startActivity(launchIntent);

但在setPackage之前你必须确保包存在(在你的情况下是com.android.chrome)