[安卓开发基础] 通过包名启动一个APP 的 某一个Activity 或者另外一个app

本文详细介绍了如何在Android中通过包名启动同一应用或不同应用下的特定Activity,包括Intent的使用方法,以及如何确保目标Activity可被外部应用访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  •  通过包名称启动同一个应用不同包名称下的 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);

}

    启动另外一个应用包名下的某个Activity;例如  第二个应用的包名

com.zengjx.androidbaseproject  下 com.camera 包名下的
应用包名AndroidMenifest.xml

 第二个应用  AndroidMenifest.xml Activity 添加 exported 说明。

//启动另外一个应用 某个包名下的界面  setClassName 第一个参数是  应用的包名AndroidMenifest.xml查看,第二个参数是Activity 的完整路径。
public    void    startCamera(){
    Intent    intent   =new Intent();
                    
    intent.setClassName("com.zengjx.androidbaseproject","com.camera.CameraActivity");
  
    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);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值