我有一个可在Chrome自定义标签中打开链接的应用。但是当用户第一次运行它(并且他安装了多个浏览器)时,它会向用户提供一个弹出窗口,要求他选择默认应用程序(即你想将UCBrowser设置为默认值,还是Chrome等)
有没有我可以跳过这个弹出窗口,并且总是以我的应用程序的chrome打开?
答案 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)