设置充电器的连接和断开时间[android]

设置充电器的连接和断开时间[android],android,broadcastreceiver,Android,Broadcastreceiver,我想创建一个应用程序来控制手机与充电器的连接。应用程序应记住连接和断开充电器的时间。 为了存储数据,我使用共享首选项。我正在使用广播接收器控制设备何时充电 这是我的广播: public class PowerConnectionReceiver extends BroadcastReceiver { SharedPreferences pref; public void onReceive(Context context, Intent intent) {

我想创建一个应用程序来控制手机与充电器的连接。应用程序应记住连接和断开充电器的时间。 为了存储数据,我使用共享首选项。我正在使用广播接收器控制设备何时充电

这是我的广播:

public class PowerConnectionReceiver extends BroadcastReceiver {

        SharedPreferences pref;

        public void onReceive(Context context, Intent intent) { 

            pref = context.getSharedPreferences("StatusOfCharging",Activity.MODE_PRIVATE);
            SharedPreferences.Editor prefEditor = pref.edit();

                int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);         
                boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
                        status == BatteryManager.BATTERY_STATUS_FULL;

                prefEditor.putBoolean("isCharging", false).commit();

                if (isCharging == true){
                    Log.d("daf", "work");

                }else{
                    prefEditor.putBoolean("isCharging", false).commit();

                }

                int chargePlug = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);

                boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
                boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;

        }
}

有人知道如何记住充电时间吗?

你可以做
prefEditor.putLong(“开始充电”,System.currentTimeMillis())当您开始充电和
prefEditor.putLong(“结束充电”,System.currentTimeMillis())完成后。然后要检查持续时间和类似的东西,只需执行
duration=prefEditor.getlongtra(“结束收费”)-prefEditor.getlongtra(“开始收费”)谢谢。但是现在我得到一个错误,getLongExra对于sharedReferences.Editor.Sorry,prefEditor.getLong(“开始充电”,0L)是未定义的;