首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何识别与充电器端口的连接?

如何识别与充电器端口的连接?
EN

Stack Overflow用户
提问于 2013-07-03 13:59:52
回答 1查看 2K关注 0票数 1

我想检测一下,有没有像充电器或USB这样的东西连接到device.Is的充电器端口才能实现这一点呢?

我尝试了这个link .It工作时,充电器连接和disconnected.Is它工作在所有设备?

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-03 14:14:45

可以,您可以通过意向广播监控电池状态。

电池监视器示例:

代码语言:javascript
复制
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.BatteryManager;

public class ChargeMon extends BroadcastReceiver {
    private boolean mCharging;
    private boolean mUsb;
    private boolean mAC;

    public void start(Context c) {
        c.registerReceiver(this, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
    }

    public void stop(Context c) {
        c.unregisterReceiver(this);
    }

    public boolean isCharging() {
        return mCharging;
    }

    public boolean isUsb() {
        return mUsb;
    }

    public boolean isAC() {
        return mAC;
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        if(Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())){
            int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS,-1);

            mCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
                       status == BatteryManager.BATTERY_STATUS_FULL;

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

            mUsb = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
            mAC = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;
        }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17440729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档