Android基础--简单介绍Application
2016-06-29 09:21
190 查看
在项目开发中,我们经常会写一个BaseApplication这个类,然后继承Application,在这个里面我们经常会做哪些事情呢?
首先:
这个里面onCreate(),我们指明application对象,还有其他的一些初始化都在这个里面,比如第三方的加载图片ImageLoader,极光推送等等初始化。
第二:获取版本号
第三个:轮询服务
首先:
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); }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories