1、从当前APP去全新启动另外一个目标APP(非覆盖同一个进程):
- 启动另外一个目标APP(非覆盖原来APP的方式)
1、当前APP加入获取权限声明:(不加人权限检查,没法启动目标app)
XML
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
tools:ignore="QueryAllPackagesPermission" />
<uses-permission android:name="android.permission.LAUNCH_APP" />
2、执行跳转代码:
java
String packageName = "com.target.package"; // 目标应用的包名
PackageManager packageManager = getPackageManager();
Intent intent=new Intent();
intent =packageManager.getLaunchIntentForPackage(packageName);
if(intent==null){
Toast.makeText(MainActivity.this, "未安装", Toast.LENGTH_LONG).show();
}else{
startActivity(intent);
}
2、从当前APP去跳转到另外一个目标APP的某个页面时:
1、目标APP的对应Activity中加入action
XML
<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
java
Intent intent = new Intent("jp"); // 标志(要和目标APP的清单文件中的标志一样)
startActivity(intent);