首页 > 解决方案 > 处理 Android 隐式活动崩溃

问题描述

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

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

如果此活动完成,我会收到广播,但如果活动崩溃,我什么也看不到,除非它毫无问题地返回第一个活动。

有没有办法知道第二个活动发生了什么?

标签: androidandroid-intentandroid-implicit-intent

解决方案


在获取上下文和 miniGameSceneStatu 之前使用 null 检查结束您的代码,您的活动不会崩溃。

    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);}
    

推荐阅读