【问题标题】:Handling Android implicit activity crashes处理 Android 隐式活动崩溃
【发布时间】:2019-04-09 18:32:54
【问题描述】:

我以这种方式启动隐式活动:

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

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

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

【问题讨论】:

  • 如果您调用的Activity 可以返回结果而不是广播,则可以使用startActivityForResult()。这样就可以判断是否成功了。

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


【解决方案1】:

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

【讨论】:

  • 问题不在于启动新活动。问题是当启动的活动崩溃时,我想知道为什么。例如,当您启动相机应用拍照时,它在拍摄照片之前崩溃。
  • @PéterKovács 请与我分享您的原木猫,以便我为您提供帮助。
猜你喜欢
  • 2015-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-23
相关资源
最近更新 更多