您的应用存在隐藏最近任务列表名称的行为,不符合华为应用市场审核标准

最近各家应用市场,唯独华为审核被拒了。。理由是您的应用存在隐藏最近任务列表名称的行为,不符合华为应用市场审核标准。

根据华为给出的视频,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)

    }
}

你可能感兴趣的:(华为,应用上架,审核,华为审核,任务队列,隐藏任务队列)