Android中使用广播接收者来弹出对话框的坑
来源:互联网 发布:linux分区最大容量 编辑:程序博客网 时间:2024/05/21 20:24
琢磨了老半天,试了一下网上说的一种方法,我发现不行,这种方法是这样的:
1.首先注册静态广播
2.在清单中添加权限
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
3.然后在show()之前设置Dialog类型为TYPE_SYSTEM_ALERT
alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
然后发现还是不行。这就郁闷啦!网上有人说用动态注册方式可以实现在广播接收者中弹出对话框,于是便试了一下,果然可以
首先开始注册广播,并给广播消息
private BroadcastReceiver broadcastReceiver;broadcastReceiver=new tipsBroadReciver(); IntentFilter intentFilter=new IntentFilter(); intentFilter.addAction(ACTION); context.registerReceiver(broadcastReceiver,intentFilter); Intent intent=new Intent(); intent.setAction(ACTION); intent.putExtra("state","1"); context.sendBroadcast(intent);在广播接收者中打开对话框
String state=intent.getExtras().getString("state"); AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(context); dialogBuilder.setTitle("提示"); if(state.equals("1")){ text="没有查找到该好友"; } dialogBuilder.setMessage(text); dialogBuilder.setCancelable(false); dialogBuilder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { context.unregisterReceiver(tipsBroadReciver.this); } }); AlertDialog alertDialog = dialogBuilder.create(); alertDialog.show();
0 0
- Android中使用广播接收者来弹出对话框的坑
- Android中广播接收者BroadcastReceiver使用
- Android中广播接收者
- 广播接收者的使用
- Android在广播接收者中弹出对话框
- Android BroadCastReceiver 广播接收者使用
- Android广播接收者使用总结
- Android广播接收者使用总结
- Android中使用广播接收者实现IP拨号
- Android 广播接收者的生命周期
- Android 广播接收者的生命周期
- 广播接收者BroadcastReceiver的使用
- Android中广播接收者的注册与释放
- android服务_使用服务注册特殊的广播接收者
- Adroid中广播接收者的使用,实现强制下线功能
- 10、Android中广播接收者-BroadcastReceiver
- Android中通过广播接收者收发短信
- Android中广播接收者BroadcastReceiver详解
- lightoj 1117 - Helping Cicada(容斥)
- 构造函数--Java基础039
- 第2章 先从看得到的入手-探究活动
- 而立之年——三线城市程序员的年终告白
- ubuntu上安装SDL2
- Android中使用广播接收者来弹出对话框的坑
- linux之centos安装xampp
- 玲珑OJ 1035 D-J
- 渗透测试
- 假期练习--输出两个整数中较小的数
- 躁动小球--鼠标圆形绘制
- 算法训练 大小写转换
- SpringMVC Junit单元测试
- Codeforces-743B-Chloe and the sequence(二进制思维题)