有关广播发送接收, 临近警告的问题
2017-01-02 02:40
330 查看
在做GPS开发,发现LocationManager有一个API , addProximityAlert(double latitude,double longitude,float radius,long expiration,PendingIntent intent);
参数分别为经度纬度 半径, 到达指定区域之后 就触发intent对应的组件。
我的做法是:
Intent intent = new Intent(this,ProximituAlertReciever.class);
//包装intent
PendingIntent pi = pendingIntent.getBroadcast(this,-1,this,0);
//添加临近警告
locationManager.addProximityAlert(100,200,5000,-1,this);
在ProximityAlertReviever中
public void onReceive(Context context, Intent intent) {
boolean isEnter = intent.getBooleanExtra(LocationManager.KEY_PROXIMITY_ENTERING, false);
if(isEnter){
Toast.makeText(context, "您已经入指定区域",Toast.LENGTH_LONG).show();
}else {
System.out.println("break");
Toast.makeText(context, "您已离开指定区域", Toast.LENGTH_LONG).show();
}
}
静态注册 一切都非常顺利。。。。。那么 问题来了。
我想让这个ProximityAlertReciever的广播接收器定义在MainActivity类内。因为如果接到广播了想调用里面的方法 ,
我改用静态注册, 自己定义了setAction,注册成功了。但是GPS再进入指定区域 却不发送广播,这是为什么? 我怀疑我注册失败了,然后sendBroadRecievr ,发送广播成功,接收成功。 但是,进入临街区域就不自动发送广播。
是不是我那个intent参数也要改啊? Intent intent = new Intent(this,ProximityAlertReciever.class) 仍然这么写对么?
为什么独立出去的类就可以正常接收,写在Activity类内就不接收了呢。。。。。。。。。
参数分别为经度纬度 半径, 到达指定区域之后 就触发intent对应的组件。
我的做法是:
Intent intent = new Intent(this,ProximituAlertReciever.class);
//包装intent
PendingIntent pi = pendingIntent.getBroadcast(this,-1,this,0);
//添加临近警告
locationManager.addProximityAlert(100,200,5000,-1,this);
在ProximityAlertReviever中
public void onReceive(Context context, Intent intent) {
boolean isEnter = intent.getBooleanExtra(LocationManager.KEY_PROXIMITY_ENTERING, false);
if(isEnter){
Toast.makeText(context, "您已经入指定区域",Toast.LENGTH_LONG).show();
}else {
System.out.println("break");
Toast.makeText(context, "您已离开指定区域", Toast.LENGTH_LONG).show();
}
}
静态注册 一切都非常顺利。。。。。那么 问题来了。
我想让这个ProximityAlertReciever的广播接收器定义在MainActivity类内。因为如果接到广播了想调用里面的方法 ,
我改用静态注册, 自己定义了setAction,注册成功了。但是GPS再进入指定区域 却不发送广播,这是为什么? 我怀疑我注册失败了,然后sendBroadRecievr ,发送广播成功,接收成功。 但是,进入临街区域就不自动发送广播。
是不是我那个intent参数也要改啊? Intent intent = new Intent(this,ProximityAlertReciever.class) 仍然这么写对么?
为什么独立出去的类就可以正常接收,写在Activity类内就不接收了呢。。。。。。。。。
相关文章推荐
- 有关广播发送接收, 临近警告的问题
- 发送和接收无序广播或有序广播需要注意的问题
- 遇到一个在linux下无法跨网段发送接收广播包的问题
- Android安全问题 抢先接收广播 - 内因篇之广播发送流程
- android安全问题(七) 抢先接收广播 - 内因篇之广播发送流程
- 关于调试程序接收通过adb发送带有参数的广播问题
- android安全问题(七) 抢先接收广播 - 内因篇之广播发送流程
- Android使用wifi通过UDP协议发送广播数据包给PC接收不到问题解决方法
- android安全问题(七) 抢先接收广播 - 内因篇之广播发送流程
- php ajax 中文乱码问题解决办法(接收发送)utf-8 GBK GB2312
- 简单的广播发送与接收
- android广播发送与接收演示DEMO
- php ajax 中文乱码问题解决办法(接收发送)
- 关于:Android 如何发送/接收DTMF问题
- Intent 广播 发送 接收
- 【解决】Select网络模型问题——奇怪的发送接收问题
- Android中短信的广播接收问题
- 接收和发送广播
- 解决sina邮箱发送到cPanel邮件,接收不到邮件的问题
- MTK6225 G+C 能发送彩信接收不了彩信问题