想让某个activity不显示在后台界面中,比如把图库的剪辑图片activity不显示后台,不然会导致一个应用有两个后台界面在Launcher的recentview里面:
只要在vendor/mediatek/proprietary/packages/apps/Gallery2/AndroidManifest.xml
找到剪辑图片的activity,叫com.android.gallery3d.filtershow.FilterShowActivity
加上一个属性
android:excludeFromRecents="true"
excludeFromRecents控制在不在recent列表中显示
true时不显示;false显示,默认 ,exclude不包括
在 Android 系统中,如果我们不想某个 Activity 出现在 “Recent screens” 中,可以设置 <activity> 属性 android:excludeFromRecents 为 true。其中有些需要注意到的地方说明下。
android:excludeFromRecents 属性并不会仅仅影响被设置的 Activity。由此该 Activity 启动的后续同属一个 “Task” 的一系列 Activity 都不会出现在 Recent screens。
也就是说该属性是对 Task 起作用的,而不仅仅是某个 Activity。所以想要后续的 Activity 能够出现在 Recent screens 中,就必须让后续 Activity 在新的 Task 中。
但是如果设置上面属性的 Activity 正是当前正在使用的,切换到 Recent screens 也是可以看到的。但是退到后台运行后,比如按下 Home 键,属性就会发生作用。
日历-跳转到,日期选择的对话框底部按钮文字ui问题,调小点:
日历应用路径是在vendor/mediatek/proprietary/packages/apps/Calendar
主activity在src/com/android/calendar/AllInOneActivity.java
收到itemId == R.id.action_go_to后执行launchDatePicker()
实际上这个应用里面根本没有关于这个日期选择对话框的布局实现以及具体逻辑,是调用了其他包下的,如下
vendor/mediatek/proprietary/frameworks/opt/datetimepicker/ res/layout/date_picker_dialog.xml
这里面就能找到底部按钮的布局文件res/layout/date_picker_done_button.xml
里面改个dimens值就可,改小点res/values/dimens.xml
<dimen name="done_label_size">12sp</dimen>,源码14,改成了12
如果整个对话框都很大,超出显示了就要改小
overlay/vendor/mediatek/proprietary/frameworks/opt/datetimepicker/res/values/dimens.xml
改
<dimen name="selected_calendar_layout_height">110dp</dimen>
音乐首页ui没有文件还一直处于扫描状态:
vendor/mediatek/proprietary/operator/packages/apps/Music/OP01/src/com/android/music/MusicUtils.java
里面有个emptyShow这个方法,就是没有文件的时候的UI,
if (MusicUtils.isMediaScannerScanning(a)) {
a.setProgressBarIndeterminateVisibility(false);
/*/tyd.yantao 20220812 avoid scanning when null from main ui
text.setText(R.string.scanning);
scanView.findViewById(R.id.spinner).setVisibility(View.VISIBLE);
//*/
text.setText(R.string.no_music_title);
scanView.findViewById(R.id.spinner).setVisibility(View.GONE);
//*/
scanView.findViewById(R.id.message).setVisibility(View.VISIBLE);
} else if (hasMountedSDcard(a.getApplicationContext())) {
text.setText(R.string.no_music_title);
scanView.findViewById(R.id.spinner).setVisibility(View.GONE);
scanView.findViewById(R.id.message).setVisibility(View.VISIBLE);
把两个改成一样的,因为else那边就是想要的效果,没有文件就显示没有文件。扫描的view消失,只留对应的textview。不过有点没明白,就是isMediaScannerScanning(a)这个方法
Cursor cursor = query(context, MediaStore.getMediaScannerUri(),
new String [] { MediaStore.MEDIA_SCANNER_VOLUME }, null, null, null);
if (cursor != null) {
result = cursor.getCount() > 0;
返回的是这个result是true,所以会出问题,但是这个咋可能有东西MediaStore.MEDIA_SCANNER_VOLUME,没理解,刚刷机不应该啥文件都没有么。