1
我試圖建立接近以下警報是我的代碼,但在所有Android的接近警戒不點火
Intent intent = new Intent(ACTION_PROXIMITY_ALERT);
pendingIntent = PendingIntent.getBroadcast(GMapsActivity.this, 0, intent, 0);
locationManager.addProximityAlert(mNavigationDatas.get(CURRENT_INDEX).startCordinates.latitude,
mNavigationDatas.get(CURRENT_INDEX).startCordinates.longitude, 100f, -1, pendingIntent);
IntentFilter filter = new IntentFilter(ACTION_PROXIMITY_ALERT);
registerReceiver(new ProximityBroadcastListener(), filter);
權限它不是射擊如下
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
我送模擬位置在真實設備上測試Android v4.1.2模擬位置遵循正確的路徑,但不會調用廣播監聽器
public class ProximityBroadcastListener extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
final String key = LocationManager.KEY_PROXIMITY_ENTERING;
final Boolean entering = intent.getBooleanExtra(key, false);
if (entering) {
String instruction = mNavigationDatas.get(CURRENT_INDEX).drivingInstuctions;
instruction = instruction.replaceAll("<[^>]*>", "");
Log.e("", instruction);
tts.speak(instruction, TextToSpeech.QUEUE_FLUSH, null);
Toast.makeText(context, "entering", Toast.LENGTH_SHORT).show();
} else {
locationManager.removeProximityAlert(pendingIntent);
CURRENT_INDEX++;
locationManager.addProximityAlert(mNavigationDatas.get(CURRENT_INDEX).startCordinates.latitude,
mNavigationDatas.get(CURRENT_INDEX).startCordinates.longitude, 100f, -1, pendingIntent);
Toast.makeText(context, "exiting", Toast.LENGTH_SHORT).show();
}
}
謝謝 Saurabh
您可以在發送模擬位置時附加日誌嗎? – iago
我使用相同的座標模擬位置,我用來顯示路線和myLocation指針移動相同的路徑,我通過另一個應用程序發送模擬位置 – ingsaurabh
當通過另一個應用程序發送模擬位置是註冊的監聽程序或它當這個應用程序在後臺進行取消註冊? – iago