展讯A13 拔掉USB,USB连接页面不消失

本文档详细描述了Android设置中的UsbDetailsFragment类,它负责USB设备的详细信息控制和提供给各个控制器的更新。该片段还使用BroadcastReceiver监控电池状态,当设备断开时关闭活动。此外,片段还涉及搜索索引功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值