Android从一个APP跳转到另外一个APP

138 阅读1分钟

一、第一种方式:

从当前APP去全新启动另外一个目标APP(非覆盖同一个进程):

  • 启动另外一个目标APP(非覆盖原来APP的方式)
1、当前APP加入获取权限声明:(不加入权限检查,没法启动目标app)
 <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
        tools:ignore="QueryAllPackagesPermission" />
 <uses-permission android:name="android.permission.LAUNCH_APP" />
2、当前APP执行跳转代码:
String packageName = "com.target.package"; // 目标应用的包名
PackageManager packageManager = getPackageManager();
Intent intent=new Intent();
//传值
intent?.putExtra("jumpPage","firstPage")
intent =packageManager.getLaunchIntentForPackage(packageName);
 if(intent==null){
     Toast.makeText(MainActivity.this, "未安装", Toast.LENGTH_LONG).show();
 }else{
     startActivity(intent);
 }

二、第二种方式:

  • 从当前APP去跳转到另外一个目标APP的某个页面时:

1、目标APP的对应Activity中加入action

 <activity
    android:name="com.xxx.package.TargetXXActivity"
    android:exported="true">
     <intent-filter>
       <action android:name="jp" />  <!--标志-->
       <category android:name="android.intent.category.DEFAULT" />  <!--这是一个普通页面-->
      </intent-filter>
 </activity>

2、当前应用执行跳转到目标APP

 Intent intent = new Intent("jp");  // 标志(要和目标APP的清单文件中的标志一样)
 startActivity(intent);

注意:Intent跳转时捕获一下异常(略),防止目标对象不存在引起崩溃。


参考:blog.csdn.net/qianfeifeio…