歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android修改默認浏覽器為其他浏覽器(UC)

Android修改默認浏覽器為其他浏覽器(UC)

public 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" /> 及系統簽名噢

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved