读书人

三星s7572无法显示toast的有关问题解决

发布时间: 2013-12-13 00:50:19 作者: rapoo

三星s7572无法显示toast的问题解决
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() {// 确定@Overridepublic void onClick(DialogInterface arg0, int arg1) {// yes to do}}).show();}

读书人网 >移动开发

热点推荐