android 应用跳应用

来源:互联网 发布:英文文献检索数据库 编辑:程序博客网 时间:2024/05/01 10:00

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();}