android - 为 Google Play 服务清除数据时的 Intent 操作

标签 android android-intent android-geofence

我想在 Google Play 服务数据被清除时收到通知。

那么,是否有任何 Intent 过滤器可以监听?

我想收听此事件,以便我可以重新注册地理围栏。 https://developer.android.com/training/location/geofencing

最佳答案

这可以通过 android.intent.action.PACKAGE_DATA_CLEARED Intent 实现。

将接收器添加到 AndroidManifest.xml 就像您为任何 Intent 所做的那样:

<receiver
    android:name=".DataClearedReceiver">
    <intent-filter>
        <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
        <data android:scheme="package" />
    </intent-filter>
</receiver>

在您的 DataClearedReceiver 中,您现在可以使用:

override fun onReceive(context: Context, intent: Intent) {
    if (Intent.ACTION_PACKAGE_DATA_CLEARED.equals(intent.getAction()) && intent.getData() != null) {
        if (data.getSchemeSpecificPart() == "com.google.android.gms") {
           // perform action
        }
    }
}

关于android - 为 Google Play 服务清除数据时的 Intent 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54071209/

相关文章:

java - 如何配置 gson 以排除 0 个整数值

Android Intent - putExtra,多次出现会怎样?

android - 地理围栏不起作用?

java - 如何为 Activity 创建 Intent 二

android - 如何让 slf4j-android 遵守 Logcat 日志记录级别?

java - Intent 的 extra 始终为 null

java - 找不到处理 Intent android.intent.action.REQUEST_TANGO_PERMISSION 的 Activity (有额外功能)

android - Google GeofenceDetection 示例崩溃

android - Google Analytics 不跟踪交易数量