3
我用ACTION_MEDIA_MOUNTED
和ACTION_MEDIA_UNMOUNTED
檢測USB
連接Nexus 4
,但我不能接收任何廣播信號。如何檢測Android 4.2中的USB連接?
這裏是我的廣播接收器代碼:
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_MEDIA_MOUNTED);
filter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);
filter.addDataScheme("file");
debugReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
if (Intent.ACTION_MEDIA_MOUNTED.equals(action)) {
debugOn = true;
} else if (Intent.ACTION_MEDIA_UNMOUNTED.equals(action)) {
debugOn = false;
}
}
};
registerReceiver(debugReceiver, filter);
任何想法?我也搜查了其他問題;他們說,如果我添加
"filter.addDataScheme("file");"
我會得到信號,但我已經嘗試過,並沒有得到任何。
我試過你的方法,但它仍然無法獲得任何東西。我需要刪除'filter.addDataScheme(「文件」)'?我也嘗試'Intent.ACTION_POWER_CONNECTED'和'Intent.ACTION_POWER_DISCONNECTED',並且可以接收它們。但我想檢測手機連接到PC的動作。 – 2013-04-26 03:52:16
我編輯了我的答案。 – 2013-04-26 04:15:35
嗨,還有。此方法可能無法區分PC連接和正常充電連接,因爲如果我將手機連接到牆上充電器,「intent.getInt(BatteryManager.EXTRA_PLUGGED)」的值仍等於「BatteryManager.BATTERY_PLUGGED_USB」。 – 2013-04-26 05:28:31