1

我有 Android 应用程序,它是 Sales Rep 应用程序。当他使用该应用程序时,首先需要显示通知,例如您的电池电量为 10% ...,然后 2 分钟后如果他没有插上电源,它会自动需要关闭下设备。

我创造了这样

     public class BatteryLevelActivity extends BroadcastReceiver{

     @Override
     public void onReceive(Context context, Intent intent) {
        int level = intent.getIntExtra("level", 0);  
            Toast.makeText(context, "Battery Level is "+level+"%", Toast.LENGTH_LONG) ;

    }
}

还有我的 androidManifest 文件

       <receiver android:name=".service.BatteryLevelActivity">
         <intent-filter>
            <action android:name="android.intent.action.BATTERY_CHANGED" />
        </intent-filter>
    </receiver> 

打电话给我喜欢的地方

     batteryLevelReceiver = new BatteryLevelReceiver();
    IntentFilter intentFilter1 = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
    intentFilter1.addAction(Intent.ACTION_BATTERY_LOW);
    registerReceiver(batteryLevelReceiver, intentFilter1);

它去 BatteryLevelReceiver上课。我真的不知道如何检查power is plugged or not&&显示通知后如何自动关机?

请有人帮我解决这个问题...

提前致谢..

4

3 回答 3

2

一旦您确定了如何检测电池中的电量水平,那么我建议您不要向栏发送通知,只需将关机命令发送到设备,这将在内部生成关机对话框。

更新

http://developer.android.com/reference/android/content/Intent.html#ACTION_SHUTDOWN

于 2012-01-17T05:22:20.890 回答
1

检查 ACTION_BATTERY_CHANGED 、 BATTERY_PLUGGED_USB 或 BATTERY_PLUGGED_AC 希望这会有所帮助:如何检测电源连接状态?

于 2012-01-17T05:14:30.083 回答
1

要检查设备是否已插入,您可以尝试这些东西,

public static boolean isConnected(Context context) {
        Intent intent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
        int plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
        return plugged == BatteryManager.BATTERY_PLUGGED_AC || plugged == BatteryManager.BATTERY_PLUGGED_USB;
    }

对于关闭设备here,您将要检查一个线程,并检查已从this线程发布该方法的插入状态。

于 2012-01-17T06:59:16.107 回答