Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何停止GPS广播接收机_Java_Android_Broadcastreceiver_Locationmanager_Android Gps - Fatal编程技术网

Java 如何停止GPS广播接收机

Java 如何停止GPS广播接收机,java,android,broadcastreceiver,locationmanager,android-gps,Java,Android,Broadcastreceiver,Locationmanager,Android Gps,我在我的gps上使用广播接收器,检查用户是否在应用程序工作时禁用了gps。如果用户禁用,则显示一个对话框,其中包含需要GPS的信息 这是我在清单中的样本: <receiver android:name=".BroadCastGPS"> <intent-filter> <action android:name="android.location.PROVIDERS_CHANGED" /> &

我在我的gps上使用广播接收器,检查用户是否在应用程序工作时禁用了gps。如果用户禁用,则显示一个对话框,其中包含需要GPS的信息

这是我在清单中的样本:

    <receiver android:name=".BroadCastGPS">
        <intent-filter>
            <action android:name="android.location.PROVIDERS_CHANGED" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </receiver>
我的问题是,当用户关闭此应用程序时,几秒钟后显示带有信息的对话框,需要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);

永远不要试图强制关闭你的应用程序。安卓可以处理这个问题。如果您想关闭您的组件使用

只需在用户禁用gps时取消注册broadcastreceiver即可

 unregisterReceiver(YOUR_BROADCAST);

我更新了我的问题。当我第一次开始时,一切都很好。我的广播工作正常。但当我关闭应用程序并再次运行时,广播就不起作用了。
 unregisterReceiver(YOUR_BROADCAST);