Mic*_*ček 5 android google-play-services beacon google-nearby
我有 kontakt.io 信标,我尝试使用附近的 API 编写用于后台扫描的应用程序。
我使用这种方法订阅消息:
SubscribeOptions options = new SubscribeOptions.Builder()
// Finds messages attached to BLE beacons. See
// https://developers.google.com/beacons/
.setStrategy(Strategy.BLE_ONLY)
.build();
Nearby.Messages.subscribe(mGoogleApiClient, getPendingIntent(), options)
.setResultCallback(new ResultCallback<Status>() {
@Override
public void onResult(@NonNull Status status) {
if (status.isSuccess()) {
Log.i(TAG, "subscribed successfully");
mSubState = SubState.SUBSCRIBING;
// Start background service for handling the notification.
getActivity().startService(getBackgroundSubscribeServiceIntent());
} else {
Log.i(TAG, "could not subscribe");
handleUnsuccessfulNearbyResult(status);
}
}
});
Run Code Online (Sandbox Code Playgroud)
我的代码是根据这个示例:https : //github.com/googlesamples/android-nearby/tree/master/messages/NearbyBackgroundBeacons
我正在正确接收消息,但是当我杀死应用程序时,不再有消息来。
杀死应用程序后,有没有办法从附近获取消息?
还没有真正尝试过使用服务,但是您是否考虑/检查过使用 服务?根据描述:
服务本质上可以采用两种形式:
开始
当应用程序组件(例如 Activity)通过调用 startService() 启动服务时,服务就被“启动”。一旦启动,服务就可以无限期地在后台运行,即使启动它的组件被销毁。通常,启动的服务执行单个操作并且不会将结果返回给调用者。例如,它可能通过网络下载或上传文件。操作完成后,服务应自行停止。
边界
当应用程序组件通过调用bindService() 绑定到服务时,服务就被“绑定”了。绑定服务提供了一个客户端-服务器接口,允许组件与服务交互、发送请求、获取结果,甚至通过进程间通信 (IPC) 跨进程执行这些操作。绑定服务仅在另一个应用程序组件绑定到它时才运行。多个组件可以同时绑定到服务,但是当所有组件都解除绑定时,服务就会被销毁。
您可以创建一个Service连续运行扫描的程序,直到您选择停止/销毁它为止。文档本身已经包含了创建启动服务的步骤。只要仔细阅读即可。
| 归档时间: |
|
| 查看次数: |
1235 次 |
| 最近记录: |