应用未运行时的Google Awareness Api事件

威廉·T·马拉德

我希望在Google Awareness API“围栏”启动时启动BroadcastReceiver或IntentService(取决于我的最终处理需要多长时间)。例如,也许我想知道一天中我激活了一组信标围栏的次数(假设我随身携带手机)。我发现的所有示例都显示了在代码中注册广播接收器的过程,但是我的理解是,如果我的应用未运行,我将需要在清单中注册广播接收器,以便OS向其发送广播。此外,意图ID似乎是自定义的ID,所以我想我必须至少通过代码在操作系统中注册一次它?

我猜想我将不得不创建一个或多个测试应用来通过反复试验来解决这个问题,但是一定会收到任何尝试过并愿意分享您结果的人的来信,我们将不胜感激!

科希克

只要在清单文件中指定BroadCastReceiver,就足够了。

即使声明了Manifest<receiver>条目,也不必在代码中注册它只要考虑一下平台如何处理活动,就可以只在清单文件中注册它(如果没有,我们就获得ActivityNotFoundException),就像广播也可以只在清单文件中注册一样。

您需要像这样声明接收方:

<receiver android:name=".MyFenceReceiver" >
   <intent-filter>
     <action android:name="android.intent.action.FENCE_RECEIVER_ACTION" />
    </intent-filter>
</receiver>

扩展BroadcastReceiver类。

public class MyFenceReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
    FenceState fenceState = FenceState.extract(intent);

    if (TextUtils.equals(fenceState.getFenceKey(), "geofence")) {
        switch(fenceState.getCurrentState()) {
            case FenceState.TRUE:

                break;
            case FenceState.FALSE:

                break;
            case FenceState.UNKNOWN:

                break;
        }
    }
}
}

有关更多信息,参见https://developer.android.com/guide/topics/manifest/receiver-element.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

FirebasePushNotificationPlugin(xamarin)-应用在后台运行时不会触发事件(android)

Chrome运行时OnMessage Listener事件未触发

应用未运行时进行调试

引发Google Awareness API SecurityException

缺少Google Awareness API v9.6

Google Places API:未捕获运行时异常

Google Awareness API,无效的API密钥,崩溃

对运行时会击中应用程序的API调用进行单元测试的最佳方法

当应用程序在后台运行时,phonegap-plugin-push on(“ notification”)事件未触发

当应用打开或在后台运行时,Phonegap Firebase推送通知不会触发事件侦听器

从运行时创建的对象订阅事件

App运行时Google Flutter Google Map API问题

我在天气API中遇到问题,HMS Weather Awareness中的getLiveInfo()始终返回空值

运行时创建的控件中的事件

DispatchTimer事件中的Windows运行时通知

Google Calendar API插入事件

理论JavaScript事件运行时

JavaScript运行时事件循环现有技术

哪个事件在运行时修改GridView数据

Windows运行时引发其他库中的事件

应用未运行时的通用链接

应用运行时(FOREGROUND)didReceiveRemoteNotification未运行

始终从Google Awareness API检测活动中获取ON_FOOT。如何获得子活动WALKING?

应用未运行时,未调用SMS接收的broadcastReceiver

在 Camunda 运行时添加事件处理程序(ExecutionListener 或 TaskListener)

将函数添加到事件运行时

在运行时加载 BingMaps API

在运行时放心的 API 编排

使用 Discord.py API 解决了“运行时错误:事件循环已关闭”