获得系统版本号

对以前用过的东西做个整理和记录

获得版本号。静态变量直接用类名获得,不需要初始化一个对象,单例模式就也用不上了。代码如下:

		 String versionName = MyApplication.versionName;
		 int localVersion = MyApplication.localVersion;

在继承Application的文件代码如下:

<pre name="code" class="java">package com.example.proposalundertake;

import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
import com.example.proposalundertake.constants.Constant;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.telephony.TelephonyManager;
import android.view.KeyEvent;
import android.widget.Toast;

/**
 * For developer startup JPush SDK
 * 一般建议在自定义 Application 类里初始化。也可以在主 Activity 里。
 */
public class MyApplication extends Application {
	public static Application instance;
	private String imsi;
	private String imei;
	private List<Activity> outActivity = new ArrayList<Activity>();
	private boolean isQuit = false;
	private Activity draftActivity;
	// 版本升级
	public static int localVersion = 0;// 本地安装版本
	public static String versionName;//本地版本名
	public static int serverVersion = 0;// 服务器版本
	public static String downloadDir = "mtms/";// 安装目录
	public static String url = "";

	public static MyApplication getInstance() {// 单例模式中获取唯一的ExitApplication实例
		if (null == instance) {
			instance = new MyApplication();
		}
		return (MyApplication) instance;
	}
	
	@Override
	public void onCreate() {
		super.onCreate();
		// 获得手机imsi
		TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
		imsi = mTelephonyMgr.getSubscriberId();
		imei = mTelephonyMgr.getDeviceId();
		Constant.setImsi(imsi);
		Constant.setImei(imei);

		// 获得本地版本
		try {
			PackageInfo packageInfo = getApplicationContext().getPackageManager().getPackageInfo(getPackageName(), 0);
			localVersion = packageInfo.versionCode;
			versionName = packageInfo.versionName;
		} catch (NameNotFoundException e) {
			e.printStackTrace();
		}
	}

	/**
	 * 退出所有程序
	 */
	public void addActivity(Activity activity) {
		outActivity.add(activity);
	}
	public void outSystem(Context context, int keyCode, KeyEvent event) {
		Timer timer = new Timer();
		if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
			if (!isQuit) {
				isQuit = true;
				Toast.makeText(context, "再按一次退出应用程序", Toast.LENGTH_SHORT).show();
				TimerTask task = new TimerTask() {
					@Override
					public void run() {
						isQuit = false;
					}
				};
				timer.schedule(task, 2000);
			} else {
				isQuit = false;
				finishAll();
			}
		}
	}
	private void finishAll() {
		for (Activity activity : outActivity) {
			if (!activity.isFinishing()) {
				activity.finish();
			}
		}
		System.exit(0);
	}

	/**
	 * 删除草稿列表
	 */
	public void addListDraftActivity(Activity activity) {
		this.draftActivity = activity;
	}
	public void finishListDraftActivity() {
		if (!draftActivity.isFinishing()) {
			draftActivity.finish();
		}
	}
}
完。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值