12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package com.emato.ich.update;
- import android.app.AlarmManager;
- import android.app.PendingIntent;
- import android.content.BroadcastReceiver;
- import android.content.Context;
- import android.content.Intent;
- import android.content.pm.PackageInstaller;
- import android.os.Build;
- import com.emato.ich.utils.Log;
- /**
- * 接收安装成功后的广播接收器
- */
- public class InstallResultReceiver extends BroadcastReceiver {
- private static final String TAG = InstallResultReceiver.class.getName();
- @Override
- public void onReceive(Context context, Intent intent) {
- Log.i(TAG, "onReceive: "+intent.getIntExtra(PackageInstaller.EXTRA_STATUS,PackageInstaller.STATUS_FAILURE));
- Intent intent1 = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());
- PendingIntent restartIntent = PendingIntent.getActivity(context, 0, intent1, PendingIntent.FLAG_ONE_SHOT);
- AlarmManager mgr = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {// 6.0及以上
- mgr.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 10000, restartIntent);
- } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {// 4.4及以上
- mgr.setExact(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 10000, restartIntent);
- }
- /*if (intent != null) {
- final int status = intent.getIntExtra(PackageInstaller.EXTRA_STATUS,PackageInstaller.STATUS_FAILURE);
- if (status == PackageInstaller.STATUS_SUCCESS) {
- // TODO 安装成功 启动应用
- PackageManagerCompat.restartApp(context);
- } else {
- // 失败
- Log.e(TAG, "onReceive: =================================================>自动安装失败! ");
- }
- } else {
- Log.i(TAG, "onReceive: ===================================================>启动失败! ");
- }*/
- }
- }
|