Open ongakuer opened 8 years ago
HI,我发现,在miui8开发版上,后台又能够使用原生Tosat.但是在之前的miui还是不可以的.建议使用时对miui的版本做一个判断.如果是miui8就使用原生的Toast,不是的话就使用你的这个.
@Mran 如 @ongakuer 所说,原生的 Toast
在通知权限被禁用的情况下,是弹不出来的。
@ongakuer 根源是缺少了权限声明 <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
,作者已在 README
中说明
Hi,原来代码里是否使用自定义Toast,是根据MIUI系统判断的。实际上在 Android 的设置里关闭应用通知,就不能弹出Toast。
Android Support v4 24.0.0 包里提供了是否允许通知的检测(Android 4.4 以上能使用)。考虑到现在小米、魅族、华为的系统基本都是 4.4 以上了。 用这个判断兼容范围更广泛。
另外发现,MIUI 8开发版,如果禁用通知, TYPE_TOAST 会提示没有权限,然后崩溃(不知道小米什么时候会变更)。所以在 show 和 hide 的时候都 Try 一下,防止崩溃。
具体的修改在这里。 https://github.com/ongakuer/ToastCompat/commit/cbc111d4b71e5aefc84b819352a2ef15883773b9
如果需要,我可以Pull Request