这是一个google的bug,部分小米手机重写了Toast代码,所以可以正常执行,我们可以通过反射的方式来暴力绕过,也就有了如下解决方式:
解决方法
public class ToastUtils {
private static Object iNotificationManagerObj;
/**
- @param context
- @param message
*/
public static void show(Context context, String message) {
show(context.getApplicationContext(), message, Toast.LENGTH_SHORT);
}
/**
- @param context
- @param message
*/
public static void show(Context context, String message, int duration) {
if (TextUtils.isEmpty(message)) {
return;
}
//后setText 兼容小米默认会显示app名称的问题
Toast toast = Toast.makeText(context, null, duration);
toast.setText(message);
if (isNotificationEnabled(conte