MyException - 我的异常网
当前位置:我的异常网» Android » Android批改默认浏览器为其他浏览器(UC)

Android批改默认浏览器为其他浏览器(UC)

www.myexceptions.net  网友分享于:2013-04-10  浏览:19次
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" /> 及系统签名噢




文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有