2 baohanqing baohanqing 于 2014.07.03 08:31 提问

Android GPS临近警告不生效

MainActivity.java

package com.example.proximitytest;

import android.location.LocationManager;
import android.os.Bundle;
import android.app.Activity;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.view.Menu;

public class MainActivity extends Activity {

LocationManager lm;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    lm=(LocationManager) getSystemService(Context.LOCATION_SERVICE);

    //定义经纬度
    double longitude=104.10;
    double latitude=30.67;

    //定义半径
    float radius=5000;

    //定义Intent
    Intent intent=new Intent(this,ProximityAlertReceiver.class);

    //将Intent包装成PendingIntent
    PendingIntent pi=PendingIntent.getBroadcast(this, -1, intent, 0);

    //添加临近警告
    /**
     * 参数说明
     * 维度
     * 经度
     * 半径
     * 过期时间 -1永不过期
     */
    lm.addProximityAlert(latitude, longitude, radius, -1, pi);
}

}

ProximityAlertReceiver.java

package com.example.proximitytest;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.location.LocationManager;
import android.util.Log;
import android.widget.Toast;

public class ProximityAlertReceiver extends BroadcastReceiver{

@Override
public void onReceive(Context context, Intent intent) {

    //获取是否进入指定区域
    boolean isEnter=intent.getBooleanExtra(LocationManager.KEY_PROXIMITY_ENTERING, false);

    Log.e("isEnter", isEnter+"");

    if(isEnter){

        Toast.makeText(context, "您已经进入到奇虎360", Toast.LENGTH_LONG).show();

    }
    else{

        Toast.makeText(context, "您已经离开奇虎360", Toast.LENGTH_LONG).show();
    }

}

}


权限也加了,但不管在模拟器还是手机当中,都出不来Toast

2个回答

a872822645
a872822645   2015.08.29 11:29

楼主解决了吗?我也把receiver注册了,但是出不了效果。。不知道在哪下手了

ys961470018
ys961470018 解决了吗 我按书上的例子敲的 没效果啊
2 年多之前 回复
delphikingliu
delphikingliu   2015.10.20 20:23

我遇到同样的问题,就是《疯狂Android讲义》书里面16章的代码,虚拟机上没有效果,不知道什么原因???addProximityAlert 到底怎么用啊???

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!