我有一个Android应用程序,( 其中之一) 在 Android Wear 设备上显示通知。
这是通过在 Wear MODULE 扩展WearableListenerService中拥有一个类来完成的。 在 Wear MODULE 中,我还有一个扩展BroadcastReceiver的类。
这里的场景是:- 运行 Android Studio 应用程序- 使用电话应用程序在 Wear 设备上显示一个通知- 重新启动 Wear 设备
现在我想要的是,如果我让电话显示另一个通知,它应该显示在可以穿戴的。 也不是这样的,因为WearableListenerService没有启动。
所以我让BroadcastManager听ACTION_BOOT_COMPLETED事件:@Override
public void onReceive(Context context, final Intent intent) {
Log.d(TAG,"onReceive!");
if(intent==null)
return;
if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
Log.d(TAG,"Action boot completed");
ComponentName c = context.startService(new Intent(context, OngoingNotificationListenerService.class));
Log.d(TAG,"returned" + c);
return;
}
.
.
.
在我的清单 file: 中
.
.
.
现在的问题是我的应用程序没有收到BOOT_COMPLETED操作。 我检查了日志,看到监视器上的它的他监听器在重新启动后接收这个事件,但不是我的。
我认为这与我的问题非常相似。
我的android Wear 应用程序没有用户可以启动的"mainactivity"- 它只是监听器服务和接收器。 尽管如这里,我快速实现了一个带有启动器 Intent的主 activty,这样我就可以从表的启动器启动。 这并没有影响到 situtation 。 一旦表重新启动,它将不会在我的应用程序中显示通知,直到从 Android Studio 重新安装。
我是不是错过了一些重要的东西? 我的WearableListenerService是否应该在手表重启时不用我的交互启动它自己? ( 它不是'。。) 或者它与这个应用程序的开发者版本有什么关系)?
( 注:我也尝试关闭,然后开始- 没有区别)