Android小例子:让一个APP去启动另外一个APP

本文的主要任务是写两个Android APP,让其中的一个APP去启动另外一个APP。其中涉及的原理很简单,就是使用Android的四大组件之一BroadcastReceiver。让其中的一个APP静态注册广播接收器,让另外一个APP发送相应的广播。

本文的APP是基于Android Studio开发的。


一、注册广播接收器端的APP

1、实现一个广播接收器的类,让他继承至BroadcastReceiver,它的具体实现如下:

public class MyBroadcastReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {

       Toast.makeText(context, intent.getStringExtra("TECH-PRO"), Toast.LENGTH_SHORT).show();

        /* 启动当前应用程序 */
        Intent myIntent = new Intent(context, MainActivity.class);
        myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(myIntent);
    }
}
类中重载了onReceive()方法,首先Toast一条从发送广播端发送过来的消息,然后通过Intent来启动当前的APP。
2、静态注册这个广播接收器

为了让我们这个广播一直处于可接收的状态,这里选择静态注册广播,在AndroidManifest.xml文件的application属性字段中添加如下字段:

 <receiver android:name=".MyBroadcastReceiver">
            <intent-filter>
                <action android:name="cn.edu.syau.broadcastreceiver"/>
            </intent-filter>
        </receiver>
以上就完成了注册广播接收器端的APP编写。


二、发送广播的APP

发送广播端的APP编写较为容易,主要就是实现广播的发送,注意发送广播的action要和静态注册广播的action保持一致。

首先定义一个Button用于执行发送操作,然后在这个按键总发送广播给广播接收器,具体实现如下:

button = (Button) findViewById(R.id.btnSend);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new  Intent();
                intent.setAction("cn.edu.syau.broadcastreceiver");
                intent.putExtra("TECH-PRO", "启动应用程序");
                sendBroadcast(intent);
            }
        });
至此,就完成了发送广播的APP。

把上面编写的两个APP都安装到手机或者模拟器当中,就可以实现一个APP启动另外一个APP的功能了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值