[安卓開發基礎] 通過包名啟動一個APP 的 某一個Activity 或者另外一個app
阿新 • • 發佈:2019-01-12
- 通過包名稱啟動同一個應用不同包名稱下的 Activity
//第一個引數為工程包名 可以直接使用 this,第二個為啟動的Actvity 完整路徑。填寫錯誤會提示 Activity 找不到。
Intent intent =new Intent(MainActivity.this,com.zengjx.permisssionB.AActivity.class); // intent.setClassName("com.zengjx.androidbaseproject","com.zengjx.androidbaseproject.NotificationDetailActivity"); // intent.setClassName("com.zengjx.permisssionB","com.zengjx.permisssionB.BActivity"); startActivity(intent);
- 通過包名啟動一個APP 的 某一個Activity
1. PermissionA 啟動 Perminsion B 的 BActivity:
PermissionA:
public void start1(){ Intent intent =new Intent(); intent.setClassName("com.zengjx.androidbaseproject","com.zengjx.androidbaseproject.BActivity"); startActivity(intent); }
2. Perminsion B 的AndroidMenifest.xml 新增 BActivity: android:exported="true"
<activity android:name="com.zengjx.permisssionB.BActivity"
android:exported="true"
>
</activity>
- 通過 包名啟動另外一個app:
PackageManager packageManager = getPackageManager(); Intent intent=new Intent(); intent =packageManager.getLaunchIntentForPackage("com.zengjx.androidbaseproject");//需要啟動的應用包名 if(intent==null){ Toast.makeText(MainActivity.this, "未安裝", Toast.LENGTH_LONG).show(); }else{ startActivity(intent); }