android 应用跳应用

本文介绍如何在Android应用A中启动应用B的具体步骤。包括设置Intent组件名称、添加额外参数及捕获异常处理等。同时,展示了如何在应用B的Manifest文件中配置接收特定Intent的动作。

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

A应用需要做的:

	Intent intent = new Intent();
	ComponentName comp = new ComponentName("demo.xx.xxxx", "demo.xx.xxxx.MainActivity");
	intent.setComponent(comp);
	intent.putExtra("other", "true");
	intent.setAction("android.intent.action.VIEW");
	startActivity(intent);

用到ComponentName这个方法

参数一: 要跳转的应用包名  参数二: 要跳转的应用 包名+类名


B应用需要在Mainfest.xml文件中注册:

<activity
            android:configChanges="orientation|keyboardHidden"
            android:name=".MainActivity" >
            <intent-filter >
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>
这俩个是主要
     <action android:name="android.intent.action.VIEW"/>
  <category android:name="android.intent.category.DEFAULT"/>



代码:
//进行捕获异常
try {

    Intent intent = new Intent();
    ComponentName comp = new ComponentName("demo.com.demointent", "demo.com.demointent.MainActivity");
    intent.setComponent(comp);
    intent.putExtra("other", "true");
    intent.setAction("android.intent.action.VIEW");
    startActivity(intent);

} catch (Exception e) {
    // 如果捕获到 错的话 弹出  对话框 让用户去 应用市场下载
    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
    builder.setTitle("前往应用市场下载");
    builder.setMessage("由于你的手机没有商场APP");
    builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {

        }
    });
    builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            // 此段代码 是跳转应用市场的代码
            try {
                Uri uri = Uri.parse("market://details?id="+getPackageName());//getPackageName 指定应用市场上你的APK 包名就会直接跳转到你上传的应用
                Intent intent = new Intent(Intent.ACTION_VIEW,uri);
                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(intent);
            } catch (Exception e1) {
                e1.printStackTrace();
                // 捕获异常
                Toast.makeText(MainActivity.this, "您的手机没有安装该应用", Toast.LENGTH_SHORT).show();
            }

        }
    });
    AlertDialog dialog = builder.create();
    dialog.show();
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值