a. 该手机上安装了360手机助手,它检测到本app内部使用了umeng统计代码,后者需要获取设备码信息。
360手机助手自动做了屏蔽处理。所以在360中设置允许本app获取设备码信息;
b. 本手机是android4.1.2版本,对于toast等信息提示做了更加严格的设置。如果需要显示toast信息,则要进行相关设置。进入设置/应用软件管理/xxapp/勾选显示通知框;
c. 为了避免toast被拦截的问题,可以考虑试用alert dialog来显示需要的信息,当然这个可能会降低用户体验,这个时候需要拿捏功能需求和用户体验的重要性。根据我的经验,功能需求的实现已经高于用户体验;
public static void forceUpdate()
{
Log.i(TAG, "forceUpdate");
// UmengUpdateAgent.forceUpdate(mActivity);
UmengUpdateAgent.update(mActivity);
UmengUpdateAgent.setUpdateAutoPopup(false);
UmengUpdateAgent.setUpdateListener(new UmengUpdateListener() {
@Override
public void onUpdateReturned(int updateStatus,UpdateResponse updateInfo) {
switch (updateStatus) {
case 0: // has update
UmengUpdateAgent.showUpdateDialog(mActivity, updateInfo);
Log.i(TAG, "forceUpdate1");
break;
case 1: // has no update
// Toast.makeText(mActivity, "当前已是最新版本", Toast.LENGTH_SHORT)
// .show();
BaseHelper.showAlert(mActivity,"", "当前已是最新版本","确定");
Log.i(TAG, "forceUpdate2");
break;
case 2: // none wifi
// Toast.makeText(mActivity, "没有wifi连接, 只在wifi下更新", Toast.LENGTH_SHORT)
// .show();
break;
case 3: // time out
// Toast.makeText(mActivity, "超时", Toast.LENGTH_SHORT)
// .show();
BaseHelper.showAlert(mActivity,"", "版本检查超时,请稍候重试","确定");
Log.i(TAG, "forceUpdate3");
break;
}
}
});
}
public static void showAlert(Context context,String title, String message,String confirmStr) {
new AlertDialog.Builder(context)
.setIcon(R.drawable.icon)
.// 图标
setTitle(title)
.// 标题
setMessage(message)
.// 提示内容
setPositiveButton(confirmStr, new DialogInterface.OnClickListener() {// 确定
@Override
public void onClick(DialogInterface arg0, int arg1) {
// yes to do
}
}).show();
}
分享到:
相关推荐
本篇将详细介绍如何自定义Toast以及解决重复出现的问题。 首先,自定义Toast主要涉及以下几个方面: 1. **创建布局文件**:在res/layout目录下创建一个XML布局文件,例如叫做`custom_toast.xml`。在这个文件中,你...
实际上用户本意只是想关闭Notification,但是Toast的show方法中有调用INotificationManager这个类,而这个类在用户关闭消息通知权限的同时被禁用了,所以我们的吐司无法显示。 Toast.show() 效果图 自定义Toast...
本文将深入探讨这个问题,并提供一个解决方案——"Android-屏蔽系统通知Toast无法显示的解决方案v2.0.0"。 首先,理解Android系统的通知机制是至关重要的。Android的通知是由NotificationManager服务管理的,它允许...
在Android开发中,`Toast`是一种轻量级的...通过以上方法,我们可以有效地解决`Toast`在Android应用中重复显示的问题,提高用户体验。在实际开发中,应根据具体场景选择合适的方法,遵循最佳实践,避免出现这类问题。
例如,在某些情况下,我们需要 Toast 显示 5 秒甚至更长的时间,而系统默认的 Toast 显示时间无法满足这种需求。因此,自定义 Toast 的显示时间就变得非常重要。 二、使用 WindowManager 实现自定义 Toast 的显示...
和对话框不同的是,Toast并不是以独占方式显示的,它并不会抢夺用户的焦点,在弹出Toast的时候,依然可以对之前的界面进行操作,我们在“”一文中介绍了纯文本的Toast的使用,我们完全可以自定义Toast的显示内容和...
在某些情况下,我们可能需要自定义Toast来实现更个性化的展示效果,解决系统Toast在样式、位置、持续时间等方面存在的限制。本文将深入探讨如何在Android中自定义Toast,并提供相应的代码示例。 首先,让我们了解...
在Android开发中,Toast是一种轻量级的通知方式,它能够在屏幕中央短暂地显示一行文本信息。然而,系统默认的Toast功能有限,仅提供简单的文本显示和预设的显示位置。当我们需要更复杂的交互或者定制化设计时,就...
以下是使用Handler解决Service中Toast无法显示问题的步骤: 1. 在Service的适当位置(如onCreate())创建一个新的Handler实例,并传入`Looper.getMainLooper()`作为参数。这样,Handler就会关联到主线程的消息队列...
在Android开发中,`Toast` 是一种非常常用的轻量级提示机制,用于向用户显示简短的信息,通常在用户操作后出现并在一段时间后自动消失。`Toast` 不会阻塞用户的交互,它浮现在屏幕上方或者下方,不会影响当前活动的...
总结一下,自定义Toast不仅可以解决层叠显示问题,还能提供更丰富的视觉体验。通过创建全局的Toast实例,我们可以控制Toast的显示顺序,确保同一时间只显示一个。而通过继承`Toast`类并重写`makeText`,则可以自由地...
小米mimu系统,会对toast进行拦截,在用户提交的toast 消息体拼接一个前缀,由于该种会导致插件工程出现资源错乱,获取appLabel异常,现我们通过hook 动态代理,对消息发送做一个劫持,修改消息信息,还原原来的消息
在Android开发中,Toast是一种常见的轻量级提示方式,它用于显示短暂的提示信息,而不会中断用户与应用的交互。然而,有时我们可能会遇到一个问题:当用户多次快速点击同一个触发Toast显示的按钮时,系统可能只会弹...
在Android开发中,`Toast`是一个非常常用的组件,它用于显示短暂的信息提示,通常不会干扰用户的操作。在标题“Toast的几行代码”中,我们可以理解这是一个关于如何简单使用`Toast`来创建提示效果的教程。描述“简单...
这在某些场景下可能无法满足开发者的需求,例如,当需要显示更复杂或更重要的信息时,开发者可能希望`Toast`能停留更长的时间。 为了解决这个问题,我们可以创建一个自定义的`Toast`类,即`CustomToast`。`...
在Android开发中,`Toast`是一种常见的用于短暂显示简短信息的工具,它可以在屏幕上浮动一段时间后自动消失。默认情况下,`Toast`显示一个简单的文本消息,但有时我们需要自定义`Toast`的视图,以满足更复杂的需求,...
可以控制toast显示时间,非常好用,谢谢支持!
/* 显示toast,自己定义显示长短。 * param1:activity 传入context * param2:word 我们需要显示的toast的内容 * param3:time length long类型,我们传入的时间长度(如500)*/