简单代码注册广播接收者并监听多个广播
来源:互联网 发布:淘宝买家id在哪里看 编辑:程序博客网 时间:2024/04/30 08:33
话不多说,直接上代码
创建服务类,并在服务中创建广播接收者的内部类,代码如下
注:manifest中注册服务
<service android:name=".MyService" />
package com.example.sensordemo;import android.app.Service;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.os.IBinder;import android.util.Log;public class MyService extends Service { private MyReceiver receiver; @Override public IBinder onBind(Intent intent) { return null; } //服务创建的时候注册广播接收者 @Override public void onCreate() { super.onCreate(); receiver = new MyReceiver(); IntentFilter filter = new IntentFilter(); filter.addAction("com.reach.receiver.key1.low"); filter.addAction("com.reach.receiver.key1.high"); filter.addAction("com.reach.receiver.key2.low"); filter.addAction("com.reach.receiver.key2.high"); filter.addAction("com.reach.receiver.key3.low"); filter.addAction("com.reach.receiver.key3.high"); registerReceiver(receiver, filter); } @Override public void onDestroy() { super.onDestroy(); unregisterReceiver(receiver); } //服务里面的一个方法 public void callServiceMethod(String s) { Log.e("MyService",s); } //内部类实现广播接收者 private class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { switch (intent.getAction()) { case "com.reach.receiver.key1.low": callServiceMethod("com.reach.receiver.key1.low"); break; case "com.reach.receiver.key1.high": callServiceMethod("com.reach.receiver.key1.high"); break; case "com.reach.receiver.key2.low": callServiceMethod("com.reach.receiver.key2.low"); break; case "com.reach.receiver.key2.high": callServiceMethod("com.reach.receiver.key2.high"); break; case "com.reach.receiver.key3.low": callServiceMethod("com.reach.receiver.key3.low"); break; case "com.reach.receiver.key3.high": callServiceMethod("com.reach.receiver.key3.high"); break; } } }}
MainActivity中代码:
import android.app.Activity;import android.content.Intent;public class MainActivity extends Activity { Intent intent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); intent = new Intent(this, MyService.class); startService(intent); } @Override protected void onDestroy() { super.onDestroy(); stopService(intent); }}
0 0
- 简单代码注册广播接收者并监听多个广播
- 采用代码注册广播接收者
- 如何用代码注册广播接收者
- android_广播者_只能用代码注册(动态注册)的广播接收者_监听屏幕的状态
- 动态注册广播接收者
- 静态注册广播接收者
- showPopupWindow();,注册广播接收者,
- 代码注册广播接收者,利用广播调用服务中的方法
- android,利用广播接收者调用服务的方法,代码注册广播接收者
- BroadcastReceiver广播接收者(一)——利用代码注册广播接收者
- 使用广播接收者监听短信
- Android-广播接收者;短信监听
- 广播接收者之监听短信并获取内容
- 使用服务注册广播接收者
- Android 动态注册广播接收者
- Abdroid中静态(主清单)注册广播接收者,监听开机广播
- 42_代码注册广播接受者(广播接收者与Activity或service的生命周期相同)&打电话的广播接收者
- 3.9 采用代码的方式动态注册广播接收者
- 注册zc
- Python 程序中遇到 'float' object has no attribute '__getitem__'
- 从Map集合里取出参数值
- String类的Format方法
- SQL(oracle) 取得分组后最大值记录
- 简单代码注册广播接收者并监听多个广播
- 关于使用springmvc时Failed to load resource: the server responded with a status of 400 (Bad Request)错误可能原因
- 这半年
- VS2015加入外部库
- HTML的dpr
- 单例解析
- 导弹拦截(最长下降子序列 dp)
- geoserver中sld设置
- Android 百度在线语音识别