Обработка неявных сбоев активности Android - PullRequest
0 голосов
/ 06 ноября 2018

Я запускаю неявную активность следующим образом:

  Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage(miniGameSceneStatus.getPackageName());
        context.startActivity(launchIntent);

Если это действие завершается, я получаю широковещательную рассылку, но если действие завершается сбоем, я ничего не вижу, кроме того, что оно возвращается к первому действию без каких-либо проблем.

Есть ли способ узнать, что происходит во втором упражнении?

1 Ответ

0 голосов
/ 06 ноября 2018

Прежде чем получить контекст и miniGameSceneStatu, оберните свой код нулевой проверкой, и ваша деятельность не потерпит крах.

    if (context != null && miniGameSceneStatus != null) {
        Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage(miniGameSceneStatus.getPackageName());

      context.startActivity(launchIntent);
}
  1. Проверьте разрешение камеры, прежде чем предпринимать какие-либо действия

    //Camera permission required for Marshmallow version                                
    if (ActivityCompat.checkSelfPermission(getApplicationContext(), 
         Manifest.permission.CAMERA)!= PackageManager.PERMISSION_GRANTED) {
    
    // Callback onRequestPermissionsResult                                     
    ActivityCompat.requestPermissions(ActivityName.this,
                                        new String[ {Manifest.permission.CAMERA}, ACTION_REQUEST_CAMERA);}
    
...