使应用默认打开 chrome
Make app open chrome by default
我有一个应用程序可以在 chrome 自定义选项卡中打开 link。但是当用户第一次运行它时(并且他安装了多个浏览器),它会给用户一个弹出窗口,要求他选择默认应用程序(即你想将 UCBrowser 设置为默认应用程序,还是 chrome 等)
有没有什么方法可以让我跳过此弹出窗口并始终在 chrome 中打开我的应用程序?
是的,您可以为此使用 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();
}
或者您可以在 Intent
上使用 setPackage
方法
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 在您的情况下)
我有一个应用程序可以在 chrome 自定义选项卡中打开 link。但是当用户第一次运行它时(并且他安装了多个浏览器),它会给用户一个弹出窗口,要求他选择默认应用程序(即你想将 UCBrowser 设置为默认应用程序,还是 chrome 等)
有没有什么方法可以让我跳过此弹出窗口并始终在 chrome 中打开我的应用程序?
是的,您可以为此使用 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();
}
或者您可以在 Intent
setPackage
方法
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 在您的情况下)