PackageManager packageManager = context.getPackageManager();
String str1 = "android.intent.category.DEFAULT";
String str2 = "android.intent.category.BROWSABLE";
String str3 = "android.intent.action.VIEW";

//设置默认项的必须参数之一,用户的操作符合该过滤器时,默认设置起效
IntentFilter filter = new IntentFilter(str3);
filter.addCategory(str1);
filter.addCategory(str2);
filter.addDataScheme("http");
//设置浏览页面用的Activity
ComponentName component = new ComponentName(context
.getPackageName(), BrowserActivity.class.getName());

Intent intent = new Intent(str3);
intent.addCategory(str2);
intent.addCategory(str1);
Uri uri = Uri.parse("http://");
intent.setDataAndType(uri, null);

//找出手机当前安装的所有浏览器程序
List<ResolveInfo> resolveInfoList = packageManager
.queryIntentActivities(intent,
PackageManager.GET_INTENT_FILTERS);

int size = resolveInfoList.size();
ComponentName[] arrayOfComponentName = new ComponentName[size];
for (int i = 0; i < size; i++)
{
ActivityInfo activityInfo = resolveInfoList.get(i).activityInfo;
String packageName = activityInfo.packageName;
String className = activityInfo.name;
//清除之前的默认设置
packageManager.clearPackagePreferredActivities(packageName);
ComponentName componentName = new ComponentName(packageName,
className);
arrayOfComponentName[i] = componentName;
}
packageManager.addPreferredActivity(filter,
IntentFilter.MATCH_CATEGORY_SCHEME, arrayOfComponentName,
component);

更多相关文章

  1. android gridview 去除四周间隙
  2. android 贪吃蛇源码分析
  3. Android(安卓)ProgressDialog设置透明程度
  4. 【Android】Activity全屏设置
  5. android 给textview部分文字设置点击事件
  6. android TextView文字透明度和背景透明度设置
  7. 设置android:elevation无效
  8. TextView
  9. 自定义View android 像支付宝支付界面的progress

随机推荐

  1. 导入android studio 项目错误:Error:(1, 0
  2. AAPTerr: No Delegate set : lost messag
  3. Android 学习笔记6 —— Activity 布局学
  4. android资料下载地址汇总
  5. 高性能图片压缩 —— libjpeg-turbo 的编
  6. 2011.09.07(3)——— android 跨进程通信之
  7. android studio mark
  8. Android 文件管理器 Android文件管理器源
  9. java.lang.NoClassDefFoundError: com/an
  10. android 查看系统分配程序内存限制