|
@@ -8,6 +8,7 @@ import android.content.Intent;
|
|
|
import android.content.pm.PackageInstaller;
|
|
|
import android.os.Build;
|
|
|
import com.emato.ich.utils.Log;
|
|
|
+import com.emato.ich.utils.LoggingUtils;
|
|
|
|
|
|
/**
|
|
|
* 接收安装成功后的广播接收器
|
|
@@ -17,17 +18,24 @@ 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));
|
|
|
+ try {
|
|
|
+ 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);
|
|
|
+ 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);
|
|
|
+ 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);
|
|
|
+ } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {// 4.4及以上
|
|
|
+ mgr.setExact(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 10000, restartIntent);
|
|
|
+ }
|
|
|
+ } catch (NullPointerException e) {
|
|
|
+ Log.w(TAG, "安装后启动出现空指针异常!可忽略!");
|
|
|
+ } catch (Exception e) {
|
|
|
+ Log.e(TAG, "安装后启动出现异常!", e);
|
|
|
+ LoggingUtils.sendAppErrorLog("安装后启动出现异常!", e);
|
|
|
}
|
|
|
/*if (intent != null) {
|
|
|
final int status = intent.getIntExtra(PackageInstaller.EXTRA_STATUS,PackageInstaller.STATUS_FAILURE);
|