您的位置:首页 > 移动开发

Android基础--简单介绍Application

2016-06-29 09:21 190 查看
在项目开发中,我们经常会写一个BaseApplication这个类,然后继承Application,在这个里面我们经常会做哪些事情呢?

首先:

private static BaseApplication application;
@Override
public void onCreate() {
super.onCreate();
application = this;
}


这个里面onCreate(),我们指明application对象,还有其他的一些初始化都在这个里面,比如第三方的加载图片ImageLoader,极光推送等等初始化。

第二:获取版本号

public static String getVersion() {
PackageManager packageManager = getApplication().getPackageManager();
PackageInfo packInfo;
try {
packInfo = packageManager.getPackageInfo(getApplication().getPackageName(), 0);
String version = packInfo.versionName;
return version;
} catch (NameNotFoundException e) {
return "";
}
}


第三个:轮询服务

// 开启轮询服务
public static void startPushService(Context context, int seconds, Class<?> cls, String action) {
// 获取AlarmManager系统服务
AlarmManager manager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
// 包装需要执行Service的Intent
Intent intent = new Intent(context, cls);
intent.setAction(action);
PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
// 触发服务的起始时间
long triggerAtTime = SystemClock.elapsedRealtime();
// 使用AlarmManger的setRepeating方法设置定期执行的时间间隔(seconds秒)和需要执行的Service
manager.setRepeating(AlarmManager.ELAPSED_REALTIME, triggerAtTime, seconds * 1000, pendingIntent);
}

// 停止轮询服务
public static void stopPushService(Context context, Class<?> cls, String action) {
AlarmManager manager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, cls);
intent.setAction(action);
PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
// 取消正在执行的服务
manager.cancel(pendingIntent);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 应用 继承