Android8.0 Email 一个Bug修改方案

Android8.0 Email 一个Bug修改方案

问题描述

平台:

   Android 8.0

问题描述:

   点击SMS中Email链接,Email登录的情况下,

  通过:startActivity(new Intent(Intent.ACTION_SEND, Uri.parse(MAIL_TO_PREFIX + address))

   可以直接跳转到com.android.email/.activity.ComposeActivityEmail.

   未登录的情况下,出现 ActivityNotFoundException (ComposeActivityEmail)异常

期望结果:

    跳转到登录界面

分析

1.在Email中搜索ComposeActivityEmail,结果如下:

Android8.0 Email 一个Bug修改方案_第1张图片

2.在Email中搜索reconciliation_compose_activity_name,结果如下:

3.找到AccountReconciler.java的281行,如下:

可以看到未登录的时候,会setComponentEnabledSetting   PackageManager.COMPONENT_ENABLED_STATE_DISABLED,所以会出现异常

(该函数在数据库有变动的时候执行)

解决方案


7.0以前版本,本身没有disable该组件的操作,7.0之后增加没有登录账号时,做disable该组件操作。

现在只要enable那个组件即可;


Android8.0 Email 一个Bug修改方案_第2张图片

你可能感兴趣的:(Android8.0 Email 一个Bug修改方案)