以编程方式获得Powerbank设备的Powerbank设备信息和电池容量

时间:2018-02-09 09:58:38

标签: android usb device usb-drive

我正在开发一个应用程序,需要在使用USB连接任何Powerbank设备时检测连接。

每当使用Powerbank进行连接检测时,我需要获得连接的Powerbank等品牌名称电池容量 Manufaturer 等信息设备

为此我创建了广播接收器以检测Powerbank与我的设备的连接。

代码:

public class PowerBankBroadcastReceiver extends BroadcastReceiver {
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();

        if (action.equals(Intent.ACTION_POWER_CONNECTED)) {
            // Do something when power connected
            Toast.makeText(context, "ACTION_POWER_CONNECTED", Toast.LENGTH_SHORT).show();
        } else if (action.equals(Intent.ACTION_POWER_DISCONNECTED)) {
            // Do something when power disconnected
            Toast.makeText(context, "ACTION_POWER_DISCONNECTED", Toast.LENGTH_SHORT).show();
        }
    }
}

manifest 里面,我添加了这个。

<receiver android:name=".utilities.PowerBankBroadcastReceiver">
       <intent-filter>
          <action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
          <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
       </intent-filter>
</receiver>

每当我连接和断开Powerbank设备时,它都会给我 ACTION_POWER_CONNECTED toast message

所以我的问题是:如何在连接时获得Powerbank设备信息?

此外,我还在 Play store 上查看了一个应用,其中显示了已连接的Powerbank设备信息。我想实现同样的事情。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

Android的大多数移动电源只需短接D +和D-数据线即可符合“电池充电”spec,从而阻止任何USB数据流。

这样Android设备就不知道它是连接到移动电源还是连接到插在墙上插座上的充电器。

如果没有合适的数据渠道,您也无法获得品牌名称等信息。

从OP链接的应用程序很多的负面评论和评论 - 不要指望它能正常工作。这可能只是推广广告或加密货币矿工的巧妙假货。