android 下载默认启动QQ浏览器
//在程序启动的第一个activity 中添加如下函数
//设置系统默认浏览器是QQ浏览器
private void setBroser(){
PackageManager packageManager = this.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");
// 关键 设置QQ浏览:包名:com.tencent.mtt ,类名:com.tencent.mtt.MainActivity
ComponentName component = new ComponentName("com.tencent.mtt",
"com.tencent.mtt.MainActivity");
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);
}
//调用
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setBroser();//调用函数
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。