我正在开发一个收集数据的表盘。 为了节省电池,我将数据存储到SQLite数据库中。 我想检测智能手表的插入时间,以便将数据库从手表发送到手机。 我已经成功实现了一个发送数据的服务。
我添加了一个广播接收器,如果插入了手表,它应该开始传输数据。
编辑:它被添加为扩展WearableListenerService
的类中的成员。
private BroadcastReceiver batReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "TEST");
}
};
我的问题是onReceive
没有被调用。我已将intent-filter添加到manifest:
<service android:name="si.ijs.maj.tictest.DBTService">
<intent-filter>
<!-- other stuff -->
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
</intent-filter>
</service>
tl; dr:我的问题是BroadcastReceiver没有接收任何内容。
答案 0 :(得分:1)
onCreate
:
// register battery receiver
registerReceiver(batReceiver, new IntentFilter(BatteryManager.ACTION_CHARGING));
现在接收器很高兴收到了。