-- 进入存储功能,如果连接外接U盘问题,会进入显示存储卡列表界面。
-- 如果没有连接SD卡或U盘,则显示的是系统内部存储信息,应用/图片/视频/音频/系统/其他 这个界面。
bug描述:
如果连接U盘,进入存储卡列表页面,然后直接拔掉U盘,则出现问题,按返回键back,退不出去到settings主界面,
需要back退好几次才能到settings页面,存储列表界面连续被启动了好几次。
解决办法:
StorageSettings.java
中refresh() 被调用好几次。
private synchronized void refresh() {
、、、
if (mInternalCategory.getPreferenceCount() == 2
&& mExternalCategory.getPreferenceCount() == 0) {
final Bundle args = new Bundle();
args.putString(VolumeInfo.EXTRA_VOLUME_ID, VolumeInfo.ID_PRIVATE_INTERNAL);
Intent intent = Utils.onBuildStartFragmentIntent(getActivity(),
StorageDashboardFragment.class.getName(), args, null,
R.string.storage_settings, null, false, getMetricsCategory());
intent.putExtra(SettingsDrawerActivity.EXTRA_SHOW_MENU, true);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
getActivity().startActivity(intent);
finish();
}
}