处理Android隐式活动崩溃

时间:2018-11-06 11:08:43

标签: android android-intent android-implicit-intent

我以这种方式开始隐式活动:

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

如果该活动完成,我会收到广播,但是如果该活动崩溃,除了返回到第一个活动没有问题,我什么都看不到。

有什么办法知道第二项活动中发生了什么吗?

1 个答案:

答案 0 :(得分:0)

在获取上下文和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);}