监听开关机,发送广播
2016-07-20 12:38
375 查看
/** 监听开关机,发送广播 */ public class BroadcastFragment extends BaseFragment implements View.OnClickListener { private static final String KEY_TO_Activity = "com.dyc.test.TO_Activity"; private FirstBroadCast firstBroadcast; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public void initViews(ViewGroup rootView) { Button firstsend = (Button) rootView.findViewById(R.id.sendfirst); IntentFilter inf = new IntentFilter(KEY_TO_Activity); firstBroadcast = new FirstBroadCast(); getContext().registerReceiver(firstBroadcast, inf); firstsend.setOnClickListener(this); } @Override public int getLayoutId() { return R.layout.fragment_broadcast; } @Override public void setViews() { } @Override public void onDestroy() { super.onDestroy(); getContext().unregisterReceiver(firstBroadcast); } @Override public void onClick(View view) { if (view.getId() == R.id.sendfirst) {
//发送广播 getContext().sendBroadcast(new Intent(KEY_TO_Activity)); } } class FirstBroadCast extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { L.v(FirstBroadCast.class, "has recive first class"); Toast.makeText(context, "show toast has recive your send", Toast.LENGTH_SHORT).show(); } } public static class ShutDownReciver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { L.v(ShutDownReciver.class,"recive shutDown "); } } public static class BootCompleteBroadcastReciver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context,"recive boot complete",Toast.LENGTH_SHORT).show();; L.v(BootCompleteBroadcastReciver.class, "has recive boot complete "); } } }
//权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
//注册
<receiver android:name="com.dyc.test.fragment.BroadcastFragment$BootCompleteBroadcastReciver"> <intent-filter > <action android:name="android.intent.action.BOOT_COMPLETED"></action> </intent-filter> </receiver> <receiver android:name=".fragment.BroadcastFragment$ShutDownReciver"> <intent-filter> <action android:name="android.intent.action.ACTION_SHUTDOWN"></action> </intent-filter> </receiver> <receiver android:name="com.dyc.test.fragment.MessageFragment$AutoSMS" android:exported="false"> <intent-filter android:priority="1000"> <action android:name="android.provider.Telephony.SMS_RECEIVED"/> </intent-filter> </receiver>非常好用。
相关文章推荐
- Notification及BroadcastReceiver,通知与广播的讲解
- Android 开机启动应用
- android 引入广播的用意
- 完全理解Android中的RemoteViews
- 第一周 Android开发环境搭建
- android自定义View原理分析
- 第一次接触奇妙的Android
- android studio 中 .9.png的制作
- android之switch控件的用法
- Android 如何编写基于编译时注解的项目
- Android图片资源优化工具
- Android游戏——2048的设计(2)
- Android Studio 下获取debug sha1和md5
- Android RecyclerView艺术般的控件使用完全解析
- Android权威编程指南学习笔记2
- android中进程优先级
- Android Textview动态改变drawable
- Android 游戏编程
- Edittext密码与显示状态切换
- android studio导入项目下载gradle-x.x.x-all.zip 放那个文件夹目录