有关广播发送接收, 临近警告的问题

在做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类内就不接收了呢。。。。。。。。。
    


    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值