WearOS如何检查电池是否堵塞

时间:2018-06-18 15:03:47

标签: android wear-os batterymanager

我正在开发一个收集数据的表盘。 为了节省电池,我将数据存储到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没有接收任何内容。

1 个答案:

答案 0 :(得分:1)

像往常一样,我问一个问题的那一刻我也解决了这个问题。 我必须在Android中注册接收器,现在它可以正常工作。 已将代码添加到onCreate

// register battery receiver
registerReceiver(batReceiver, new IntentFilter(BatteryManager.ACTION_CHARGING));

现在接收器很高兴收到了。