Android小例子:让一个APP去启动另外一个APP
16lz
2021-01-24
本文的主要任务是写两个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属性字段中添加如下字段:
以上就完成了注册广播接收器端的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的功能了。
更多相关文章
- 让你明白,Android常用组件四大天王
- android开机自动启动指定app
- Broadcast 广播 的接收 和发送 -- Android(安卓)学习之路
- Android(安卓)7.0 ActivityManagerService(5) 广播(Broadcast)相
- Android(安卓)Broadcaset 简介
- Delphi XE开发 Android(安卓)开机自动启动
- Android整合网上资源以及个人对GreenDao数据库框架的理解与使用(
- Android静态安全检测 -> 密钥硬编码
- android 数据库升级(保留原先数据)