如何识别充电端口的连接? [英] How to identify the connection to charger port?

查看:258
本文介绍了如何识别充电端口的连接?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要检测像充电器或USB任何连接到device.Is的充电口反正有没有做到这一点?

I want to detect is anything like charger or USB is connected to the charger port of a device.Is there anyway to achieve this?

我试过这个<一个href=\"http://stackoverflow.com/questions/16707154/when-you-plug-in-charger-what-service-and-classes-android-calls\">link 。它的工作原理,当连接充电器和disconnected.Is它工作在所有设备?

I tried this link .It works when charger connected and disconnected.Is it works in all devices?

由于提前

推荐答案

是的,你可以通过监听广播意向电池状态。

Yes, you can monitor battery status via intent broadcasts.

电池监视器的例子:

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;
        }
    }
}

这篇关于如何识别充电端口的连接?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆