Android基础--简单介绍Application

本文介绍了在项目开发中如何使用BaseApplication类,包括初始化第三方库、获取应用版本号及实现轮询服务的方法。

在项目开发中,我们经常会写一个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);
    }
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值