阅读:5220回复:0

statusbar显示TFcard & u盘

楼主#
更多 发布于:2021-02-26 20:25

加资源:
string array: config_statusBarIcons, ic_baseline_udisk.xml, ic_baseline_tf_card.xml

监听广播:
+               IntentFilter filter1 = new IntentFilter();
+               filter1.addAction(Intent.ACTION_MEDIA_MOUNTED);
+               filter1.addAction(Intent.ACTION_MEDIA_UNMOUNTED);
+               filter1.addDataScheme("file");//这个不能省!!!

读取TF & udisl状态:
+       public void isSdcardAndUDiskExists(Context context) {
+               mSdCardExists = false;
+               mUDiskExists = false;
+               StorageManager storageManager = StorageManager.from(context.getApplicationContext());
+               List<DiskInfo>  diskInfos = storageManager.getDisks();
+               for (DiskInfo diskInfo : diskInfos) {
+                       if (diskInfo == null) break;
+                       if ((diskInfo.flags&DiskInfo.FLAG_SD) != 0) mSdCardExists = true;
+                       if ((diskInfo.flags&DiskInfo.FLAG_USB) != 0) mUDiskExists = true;
+               }
+       }

显示到statusbar:
+       private void updateDiskState() {
+               Log.e(TAG, "mUDiskExists: " + mUDiskExists + ", mSdCardExists: " + mSdCardExists);
+               if (mUDiskExists) {
+                       mIconController.setIcon(mSlotUDisk, R.drawable.ic_baseline_udisk, mSlotUDisk);
+                       mIconController.setIconVisibility(mSlotUDisk, true);
+               } else {
+                       mIconController.setIconVisibility(mSlotUDisk, false);
+               }
+               if (mSdCardExists) {
+                       mIconController.setIcon(mSlotTFCard, R.drawable.ic_baseline_tf_card, mSlotTFCard);
+                       mIconController.setIconVisibility(mSlotTFCard, true);
+               } else {
+                       mIconController.setIconVisibility(mSlotTFCard, false);
+               }
+       }

最新喜欢:

zhaoyf13zhaoyf...
游客

返回顶部