在看 Android 面试题的时候看到这样一道题,下面回答是通过直接发送Uri把参数带过去,或者通过manifest里的intentfilter里的data属性,对这个答案不是很理解。

在搜索引擎下面查找,得到的结果内容基本如下:

         Intent intent =newIntent();                 intent.setAction("android.intent.action.VIEW");             Uri content_url =Uri.parse("http://www.163.com");            intent.setData(content_url);                    intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");            startActivity(intent);        只要修改以intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");        中相应的应用程序packagename 和要启动的activity即可启动其他浏览器来        uc浏览器":"com.uc.browser", "com.uc.browser.ActivityUpdate“        opera浏览器:"com.opera.mini.android", "com.opera.mini.android.Browser"        qq浏览器:"com.tencent.mtt", "com.tencent.mtt.MainActivity"

试了一下 uc浏览器 ,结果闪退…. 想想是接近 15 年的答案,可能是 包名, 或者是主 Activity 名 发生了改变,也就释然了…… 于是找方法怎么查看应用的主 Activity 名,经过了各种搜索技巧,最后解决办法如下


  1. 先下载 Development.apk 工具,安装在手机端(链接:http://pan.baidu.com/s/1eRNnHx4)
  2. 打开应用程序界面:

  1. 选择要查看的应用程序,点击进入:

  1. 包名到目前已经知道了,当然这不是我们使用这个工具的主要原因,我们使用这个工具主要是获取主 Activity 的名称,包名可以直接在应用商店的网址后缀,或者下载包名查看器查看

向下滑动界面:

截止到目前,我们就找到了对应应用程序(这里是 UC)的主Activity, 也就是入口。那我们就可以实现在安卓中指定浏览器访问指定页面的功能:

Intent intent = new Intent(Intent.ACTION_VIEW);intent.setData(Uri.parse("http://www.baidu.com"));intent.setClassName("com.UCMobile","com.UCMobile.main.UCMobile");startActivity(intent);

在 .setClassName(PackageName, MainActivityName) 中有两个参数,第一个参数时包名,第二个参数时主 Activity 的完整的类名。这样我们就实现了指定浏览器来访问指定的页面。

觉得对你有用的话,顶一下呗 ……

更多相关文章

  1. android类作用整理
  2. android关闭应用程序
  3. Android(安卓)M新特性Doze and App Standby模式详解
  4. Android安全/开发基础--15--应用程序配置文件详解(AndroidManifes
  5. Android开发之API应用指南
  6. 从浏览器中打开我们的应用
  7. Android程序如何安装到内存或卡中
  8. Android分享中,如何过滤指定的应用,并且对不同的分享方式发送不同
  9. Android基于UDP的局域网聊天通信(有完整Demo)

随机推荐

  1. Android下调整多媒体音量方法
  2. android 中调用ajax的问题
  3. android 限定 EditText字符输入个数
  4. android life cycle
  5. ok6410 android driver(7)
  6. android 多媒体部分学习笔记十--简单视频
  7. Android handler用法详解二(例2)
  8. Android浏览器开发 WebView setBlockNetw
  9. android java.lang.IllegalStateExceptio
  10. android 各版本与api值 对应表