【Android】从当前Apk启动另外一个已经安装的Apk

1.概述

       在实际开发的过程中,我们的产品可能不只一个Apk,即包含两个或两个以上的Apk,或者我们根据需要在特定情境下启动另外一个已安装的Apk,这个Apk可以是系统自带的或者普通的Apk。下面就介绍一下如何从当前Apk启动另外一个Apk。

2.实例代码

package com.example.demo;

import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;

/**
 * Description: 测从当前Apk启动其它Apk实例
 * 
 * @author danDingCongRong
 * @Version 1.0.0
 * @Created at 2014-8-10 23:14:19
 * @Modified by [作者] on [修改日期]
 */
public class TestLauncherOtherApkActivity extends Activity {

	private Button btnLauncherNormalApk;
	private Button btnLauncherSystemApk;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.activity_main);

		initView();
	}

	private void initView() {
		btnLauncherNormalApk = (Button) findViewById(R.id.btnLauncherNormalApk);
		btnLauncherSystemApk = (Button) findViewById(R.id.btnLauncherSystemApk);

		btnLauncherNormalApk.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// 启动自己写的一个Apk
				Intent intent = new Intent();
				// ComponentName有多个构造函数,这里使用的构造函数要求第一个参数是要启动的Apk的PackageName,
				// 第二个参数是要启动的Apk的启动Activity的名字,其它构造函数可自己查阅
				ComponentName componentName = new ComponentName(
						"com.example.qq",
						"com.example.qq.activity.main.SplashActivity");
				intent.setComponent(componentName);
				startActivity(intent);
			}
		});

		btnLauncherSystemApk.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// 启动系统自动的日历Apk
				ComponentName componentName = new ComponentName(
						"com.android.calendar",
						"com.android.calendar.LaunchActivity");

				Intent intent = new Intent();
				intent.setComponent(componentName);
				startActivity(intent);
			}
		});
	}
}

3.备注

       虽然启动的是启动的另外一个Apk,但是当从这个Apk返回时,仍然回到启动它的页面(如果显示的销毁它)。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值