`

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

 
阅读更多
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默认浏览器读取联系人patch

    总的来说,"修改Android默认浏览器读取联系人patch"涉及到了Android系统的权限管理、应用配置、源码编译、安全与隐私保护等多个方面。这个过程需要对Android系统有深入的理解,并且可能涉及到系统级别的修改,因此更...

    微信跳转到默认浏览器下载app.zip

    因此,开发者常常需要将用户引导到设备的默认浏览器来完成这些操作,比如下载安装应用程序(APP)。本主题“微信跳转到默认浏览器下载app.zip”提供的代码示例,旨在帮助开发者实现这一功能。 1. **微信跳转机制**...

    解决android默认浏览器不能下载某些文件的方法

    解决android默认浏览器不能下载某些文件的方法 可以下载下来看看,解决下载文件限制的问题 希望能够给大家的工作或者学习带来帮助

    Android调用系统默认浏览器访问的方法

    一、启动android默认浏览器 这样子,android就可以调用起手机默认的浏览器访问。 二、指定相应的浏览器访问 1、指定android自带的浏览器访问 ( “com.android.browser”:packagename ;...

    简单网页浏览器基于android

    **Android平台上简单网页浏览器开发详解** 在Android平台上开发一款简单的网页浏览器是许多初学者入门实践的好项目。这个项目可以帮助开发者熟悉Android SDK、Android Studio的使用,以及网络请求、UI设计等基本...

    Android实现类似浏览器可以新增标签页,可以随意多个标签之间来回切换

    在Android平台上,构建一个类似浏览器的应用,实现多标签页切换是一项常见的需求。这涉及到对Android系统框架的理解,尤其是Activity管理、Fragment操作以及UI设计。以下将详细解析如何实现这一功能。 1. **...

    Android自定义文件浏览器简单demo项目

    在Android开发中,创建一个自定义的文件浏览器是常见的需求,尤其在开发涉及用户选择文件或目录的应用时。本项目“Android自定义文件浏览器简单demo”提供了一个基础框架,可以帮助开发者快速实现这一功能。下面将...

    Android调用默认浏览器打开指定Url的方法实例

    首先,要调用默认浏览器打开指定URL,我们需要创建一个Intent对象,设置其action为"android.intent.action.VIEW",表示我们要启动一个可以查看内容的活动,比如浏览器。然后,通过Uri.parse方法解析URL字符串,将其...

    Android手机版浏览器DIV滚动条失效解决方案

    在Android平台上,开发一款手机版浏览器时,可能会遇到一个常见的问题:在特定情况下,网页中的`div`元素的滚动条无法正常工作。这个问题通常是由于Android原生浏览器或自定义WebView组件的某些特性引起的。本文将...

    基于android的文件浏览器开发与实现

    在Android平台上,开发一个文件浏览器是一项常见的任务,它允许用户浏览和管理设备上的文件系统。本文将深入探讨基于Android的文件浏览器的开发与实现过程,包括核心组件、关键功能实现以及设计考虑因素。 首先,...

    使用系统默认浏览器打开http网址

    本工程用于展示使用java如何实现这样的功能:使用系统默认浏览器打开http网址;使用用户指定的浏览器打开http网址。 本工程编码方式为:GBK 出现异常即解决方法: 当调用Tool类中的第二个方法时,指定的browerType...

    unity 调用 andriod 浏览器

    当用户触发某个事件(如点击一个按钮)时,这个方法会被调用,进而通过`Application.OpenURL`函数启动Android设备上的默认浏览器并加载URL。 `dll`和`dll.meta`文件可能包含了Unity插件或者第三方库,它们可能会...

    如何使用我的应用程序将Google Chrome设置为Android设备中的默认浏览器

    在Android设备上将Google Chrome设置为默认浏览器是一个方便的操作,可以使用户享受到Chrome的高效性能和丰富功能。这个过程涉及到Android系统的设置调整以及可能利用到的一些编程技术,如Java、HTML5、JavaScript和...

    基于Android Studio开发手机本地文件浏览器

    在Android 4.0(API级别14)到6.0(API级别23)之间,应用默认拥有读写外部存储(即SD卡)的权限。但自Android 6.0开始,Google引入了运行时权限管理,这意味着开发者需要在运行时请求用户的存储访问权限,而不仅仅...

    可设置主页的Android浏览器

    这款名为"可设置主页的Android浏览器"的应用正是基于这种需求而诞生的。它利用了Android系统中的WebView组件,这是一种内置的浏览器引擎,允许开发者在自己的应用程序中嵌入网页浏览功能。以下是关于这个项目的一些...

    android 浏览器

    虽然Android默认使用WebKit,但开发者也可以选择其他渲染引擎,如Blink(Chrome的渲染引擎)或者Mozilla的GeckoView。这为开发者提供了更大的灵活性,可以根据需求定制浏览器的行为和功能。 8. 多进程架构 Android...

    android版自定义文件浏览器

    自学Android编程有段时间了,自己写了个Android文件浏览器。因为是从C#转Android,所以代码风格遗留了C#的部分风格,如果有什么问题或者更好的方法,请给作者指出。 功能如下: 1.可以设置为文件浏览器、选择文件、...

Global site tag (gtag.js) - Google Analytics