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: ===================================================>启动失败! "); }*/ } }