赞
踩
最近各家应用市场,唯独华为审核被拒了。。理由是您的应用存在隐藏最近任务列表名称的行为,不符合华为应用市场审核标准。
根据华为给出的视频,app在任务队列(也就是俗称的安卓多任务管理后台)不显示应用名。因为我们app是用flutter做的,按理说只需要在MaterialApp中的title写好应用名就可以,我们找了很多个华为用户,同样机型也有不一样的表现,只有少数个别的用户会出现没有应用名的情况。。。 WTF!!!
然后没办法只能从android原生方法去找。。。
最终在androidmainfest.xml的Activity中添加android:excludeFromRecents="false"属性。并且在mainActivity中添加taskDescription才得以解决。。。真不是不容易。
知识点:android:excludeFromRecents="false" 这个属性 如果设置为true 就会在任务队列中隐藏掉task,而我们需要显示出来 就设置为false。
- class MainActivity: FlutterActivity() {
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
-
-
- Timer("ChangingTaskDescriptionColor", false).schedule(1000) {
- val taskDescription: ActivityManager.TaskDescription =
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
- //android 9.0
- setTaskDescriptionP()
- } else {
- setTaskDescriptionBeforeP()
- }
- setTaskDescription(taskDescription)
- }
-
- }
-
- private fun setTaskDescriptionBeforeP(): ActivityManager.TaskDescription {
- val bitmapIcon = BitmapFactory.decodeResource(resources, R.mipmap.ic_launcher)
- return ActivityManager.TaskDescription("应用名", bitmapIcon, Color.RED)
- }
-
- @TargetApi(Build.VERSION_CODES.P)
- private fun setTaskDescriptionP(): ActivityManager.TaskDescription {
- return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
- ActivityManager.TaskDescription.Builder().setLabel("应用名")
- .setIcon(R.mipmap.ic_launcher)
- .setPrimaryColor(Color.RED).build()
- } else ActivityManager.TaskDescription("应用名", R.mipmap.ic_launcher, Color.RED)
-
- }
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。