Я использую broadcastreceiver на моем gps, который проверяет, отключил ли пользователь GPS при работе приложения. Если пользователь отключен, тогда отображается диалог с информацией о том, что требуется GPS.Как остановить GPS BroadcastReceiver
Это мой пример в манифесте:
<receiver android:name=".BroadCastGPS">
<intent-filter>
<action android:name="android.location.PROVIDERS_CHANGED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
Это мой BroadCastGPS класс:
public class BroadCastGPS extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().matches("android.location.PROVIDERS_CHANGED")) {
LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
if(!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
if(!gpsStatus.GPS) {
Intent pushintent = new Intent(context, gpsStatus.class);
pushintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(pushintent);
}
} else {
if(gpsStatus.GPS) {
Intent pushintent = new Intent(context, Online.class);
pushintent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(pushintent);
}
}
}
}
}
Моя проблема заключается в том, что, когда пользователь закрыл это приложение, через несколько секунд показывает диалоговое окно с информацией , что GPS требуется. Как остановить трансляцию перед закрытием приложения? Я пытаюсь использовать System.exit (0), убить процесс, но он не работает.
Этот пример вызывается, когда приложение близко:
PackageManager pm = mContext.getPackageManager();
ComponentName compName =
new ComponentName(mContext,
BroadCastGPS.class);
pm.setComponentEnabledSetting(
compName,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
Я обновил свой вопрос. Когда я только начинаю, все отлично. Моя трансляция работает. Но когда я закрываю приложение, и я запускаю второй раз, тогда трансляция не работает. – SeaDog