真机测试时个别机型无法显示toast的问题解决方案

真机测试时个别机型toast信息不显示,找到两个解决方案,不知还有什么其它有效方法,期待大神们的分享!!!

1、手动方案:设置——>应用软件管理——>对应APP——>勾选显示通知框

2、替代方案:避免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();
	}

你可能感兴趣的:(Android)