我有一个Android手机安装多个浏览器,我可能会或可能不会设置浏览器为默认值。
所以,我的问题是..
从我的应用程序,如何强制只在本地的Android浏览器打开链接? 有没有一种方法可以让我知道,如果有一个浏览器设置为默认或没有? 解决方案这是我的应用程序,如何强制只在原生的Android打开链接 浏览器?
意向意图=新的意图();
组件名补偿=新的组件名(com.google.android.browser,com.google.android.browser.BrowserActivity);
intent.setComponent(化合物);
intent.setAction(android.intent.action.VIEW);
intent.addCategory(android.intent.category.BROWSABLE);
开放的我们的uri = Uri.parse(URL);
intent.setData(URI);
尝试
{
startActivity(意向);
}
赶上(例外五)
{
e.printStackTrace();
}
有没有一种方法可以让我知道,如果有一个浏览器设置为默认或没有?
PackageManager packageManager = getPackageManager();
意向意图=新的意图(Intent.ACTION_VIEW);
intent.setData(Uri.parse(URL));
名单< ResolveInfo>表= packageManager.queryIntentActivities(意向,0);
如果(则为list.size()大于0){
对于(ResolveInfo resolveInfo:名单){
resolveInfo.isDefault(); //将让你知道,如果应用程序设置为默认
}
} 其他 {
//没有可用的应用程序
}
I have an android phone with multiple browsers installed and I might or might not set a browser to default.
So, my question is..
From my App, How do I force open a link only in the NATIVE android browser? Is there a way I can know if there is a browser set to default or not?解决方案
From my App, How do I force open a link only in the NATIVE android browser?
Intent intent = new Intent();
ComponentName comp = new ComponentName("com.google.android.browser","com.google.android.browser.BrowserActivity");
intent.setComponent(comp);
intent.setAction("android.intent.action.VIEW");
intent.addCategory("android.intent.category.BROWSABLE");
Uri uri = Uri.parse(url);
intent.setData(uri);
try
{
startActivity(intent);
}
catch (Exception e)
{
e.printStackTrace();
}
Is there a way I can know if there is a browser set to default or not?
PackageManager packageManager = getPackageManager();
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("URL"));
List<ResolveInfo> list = packageManager.queryIntentActivities(intent, 0);
if (list.size() > 0) {
for (ResolveInfo resolveInfo : list) {
resolveInfo.isDefault();// will let u know if the app is set to default
}
} else {
//No apps available
}