Android两个独立的应用跳转实现方式小结

  在Android应用实现过程中,有时候会遇到应用之间相互跳转的情况,比如跳转至系统设置界面、WiFi设置界面、或者其它的用户实现的应用主界面等等。这里总结了几种常见的打开其它应用activity的方式

1.使用adb shell +am的方式

  am是命令行下的activity管理工具,使用am可以快速打开应用的activity。并且打开应用的主activity是不需要root权限的。比如打开系统WiFi设置界面的命令为 am start -n com.android.settings/.wifi.WifiSettings。对于自定义的应用的命令格式也类似为am start -n 应用包名/应用的启动Activity。

打开浏览器:  am start -a android.intent.action.VIEW -d http://www.baidu.com

打开通话历史界面:am start -a android.intent.action.CALL_BUTTON

Browser(浏览器)的启动方法为:am start -n com.android.browser/com.android.browser.BrowserActivity

启动浏览器 :am start -a android.intent.action.VIEW -d  http://www.google.cn/

拨打电话 :am start -a android.intent.action.CALL -d tel:10086

  http://stackoverflow.com/a/11972805/1767800

  http://stackoverflow.com/a/13380685/1767800

http://blog.csdn.net/sunrock/article/details/5675067

2.使用intent的方式

  在程序中采用Runtime.getRuntime().exe执行am命令的方式可能会出现无法打开应用的情况,这时可以考虑采用intent的方式。采用intent方式和am的原理类似,只需要把intent的属性设置为am中用到的参数就可以。为了保证intent设置正确,也可以事先通过adb shell+am的方式进行验证。

  

Intent intent=new Intent("android.intent.action.MAIN");
intent14.setComponent(new ComponentName("com.packagename", "com.packagename.launchActivityNmae"));
startActivity(intent);

  http://stackoverflow.com/a/4344697/1767800

 

原文地址:https://www.cnblogs.com/jiangz/p/3297728.html