首页 > 系统 > Android > 正文

Android修改默认浏览器为其他浏览器

2019-11-06 07:13:15
字体:
来源:转载
供稿:网友
[java] view plain copypublic class MainActivity extends Activity {        PRivate static final String TAG = "MainActivity";        @Override      protected void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setContentView(R.layout.activity_main);            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");          // 设置浏览页面用的Activity          ComponentName component = new ComponentName("com.UCMobile",                  "com.UCMobile.main.UCMobile");            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;                Log.d(TAG, "packageName  " + packageName);              Log.d(TAG, "className  " + className);                // 清除之前的默认设置              packageManager.clearPackagePreferredActivities(packageName);              ComponentName componentName = new ComponentName(packageName,                      className);              arrayOfComponentName[i] = componentName;          }          packageManager.addPreferredActivity(filter,                  IntentFilter.MATCH_CATEGORY_SCHEME, arrayOfComponentName,                  component);        }  

记得 <uses-permission Android:name="android.permission.SET_PREFERRED_applicationS" /> 及系统签名噢


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表