1、当前APP加入获取权限声明:(不加人权限检查,没法启动目标app)
- <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
- tools:ignore="QueryAllPackagesPermission" />
- <uses-permission android:name="android.permission.LAUNCH_APP" />
2、执行跳转代码:
- 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);
- }
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跳转时捕获一下异常(略),防止目标对象不存在引起崩溃。