diff --git a/packages/apps/Settings/src/com/android/settings/connecteddevice/usb/UsbDetailsFragment.java b/packages/apps/Settings/src/com/android/settings/connecteddevice/usb/UsbDetailsFragment.java
index be37d003492..7e5fabb0939 100644
--- a/packages/apps/Settings/src/com/android/settings/connecteddevice/usb/UsbDetailsFragment.java
+++ b/packages/apps/Settings/src/com/android/settings/connecteddevice/usb/UsbDetailsFragment.java
@@ -36,12 +36,19 @@ import com.android.settingslib.search.SearchIndexable;
import java.util.ArrayList;
import java.util.List;
+import android.util.Log;
+import android.content.BroadcastReceiver;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.BatteryManager;
+
/**
* Controls the USB device details and provides updates to individual controllers.
*/
@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
public class UsbDetailsFragment extends DashboardFragment {
private static final String TAG = UsbDetailsFragment.class.getSimpleName();
+ private BroadcastReceiver mPowerDisconnectReceiver = null;
private List<UsbDetailsController> mControllers;
private UsbBackend mUsbBackend;
@@ -58,6 +65,8 @@ public class UsbDetailsFragment extends DashboardFragment {
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
+ mPowerDisconnectReceiver = new PowerDisconnectReceiver();
+ getActivity().registerReceiver(mPowerDisconnectReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
super.onViewCreated(view, savedInstanceState);
Utils.setActionBarShadowAnimation(getActivity(), getSettingsLifecycle(), getListView());
}
@@ -98,6 +107,21 @@ public class UsbDetailsFragment extends DashboardFragment {
// ret.add(new UsbDetailsTranscodeMtpController(context, fragment, usbBackend));
return ret;
}
+
+ private class PowerDisconnectReceiver extends BroadcastReceiver {
+ public void onReceive(Context content, Intent intent) {
+ int plugType = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0);
+ if (plugType == 0) {
+ getActivity().finish();
+ }
+ }
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ getActivity().unregisterReceiver(mPowerDisconnectReceiver);
+ }
/**
* For Search.
展讯A13 拔掉USB,USB连接页面不消失
最新推荐文章于 2025-06-25 03:15:00 发布
本文档详细描述了Android设置中的UsbDetailsFragment类,它负责USB设备的详细信息控制和提供给各个控制器的更新。该片段还使用BroadcastReceiver监控电池状态,当设备断开时关闭活动。此外,片段还涉及搜索索引功能。
608

被折叠的 条评论
为什么被折叠?



