当前位置: 首页 > 知识库问答 >
问题:

相机应用程序停止启动它的活动,所以mediastore.extra_output为空?

鲁斯伯
2023-03-14
public void startCamera(View view) {
    Log.i(TAG, "starting Camera action");
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    mImageCaptureUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
    Log.d(TAG, "created media file uri is " + mImageCaptureUri);
    takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, mImageCaptureUri);
    startActivityForResult(takePictureIntent, TAKE_PICTURE);

}
        case TAKE_PICTURE:
            if (resultCode == ActionActivity.RESULT_OK) {
                Log.d(TAG, "received ok from camera intent, working on picture now. Saved image path is :" + mImageCaptureUri);
                b = new Bundle();

                if (mImageCaptureUri != null){
                    Intent i = new Intent();
                    b.putSerializable("picUri", mImageCaptureUri.getPath());
                    i.putExtras(b);
                    i.setClass(this, AttachCommentActivity.class);
                    startActivity(i);
                }
                else{
                    Log.e(TAG, "error while processing camera result, there is no picture uri, going back to previous view");
                    startActivity(new Intent().setClass(this, ActionActivity.class));
                }
            }

下面是日志输出

  07-01 11:39:49.224    5614-5614/de.myapp I/AttachActivity﹕ starting Camera action
  07-01 11:39:49.234    5614-5614/de.myapp D/AttachActivity﹕ created media file uri is file:///storage/emulated/0/Pictures/pdixattach/IMG_20150701_113949.jpg
  07-01 11:39:49.264    5614-5614/de.myapp D/AttachActivity﹕ activity has been paused!
  07-01 11:39:52.144    5614-5614/de.myapp D/AttachActivity﹕ activity has been stopped!
  07-01 11:40:03.514    5614-5614/de.myapp E/ActivityThread﹕ Performing stop of activity that is not resumed: {de.myapp/de.myapp.activies.AttachActivity}
      java.lang.RuntimeException: Performing stop of activity that is not resumed: {de.myapp/de.myapp.activies.AttachActivity}
              at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3816)
              at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3904)
              at android.app.ActivityThread.access$1200(ActivityThread.java:177)
              at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
              at android.os.Handler.dispatchMessage(Handler.java:102)
              at android.os.Looper.loop(Looper.java:145)
              at android.app.ActivityThread.main(ActivityThread.java:5938)
              at java.lang.reflect.Method.invoke(Native Method)
              at java.lang.reflect.Method.invoke(Method.java:372)
              at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)
  07-01 11:40:02.984    5614-5614/de.myapp D/AttachActivity﹕ activity has been created!
  07-01 11:40:03.014    5614-5614/de.myapp D/AttachActivity﹕ request code in onActivityResult is  100
  07-01 11:40:03.014    5614-5614/de.myapp D/AttachActivity﹕ received ok from camera intent, working on picture now. Saved image path is :null
  07-01 11:40:03.014    5614-5614/de.myapp E/AttachActivity﹕ error while processing camera result, there is no picture uri, going back to previous view

共有1个答案

孔彭祖
2023-03-14

我可以在日志文件中看到,在相机应用程序处于前台期间,activty已经停止,这就解释了为什么mImageCaptureUri是空的。

由于内存不足,进程被终止。在调用第三方相机应用程序时,这种情况经常发生。

但我该如何预防呢?

 类似资料:
  • 问题内容: 我正在尝试构建一个android应用程序,此应用程序的主要功能之一是使其能够在手机启动时自动启动活动,我在手机上看到一些应用程序已经执行了此操作,因此任何帮助都将非常有用。我可以至少通过sdk对此进行更好的研究,谢谢! 问题答案: 您需要像这样实现BroadCastreceiver: 在清单中添加以下内容: 添加权限:

  • 我们的webstart应用程序(不是小程序)遇到了奇怪的启动问题。 启动应用程序会显示应用程序启动屏幕,但javaws进程会在不久后终止,不会在对话框、java控制台或日志文件中显示任何错误消息。javaws似乎只是在实际启动实际应用程序之前停止。无论用户尝试从桌面快捷方式还是从网页启动应用程序,都无关紧要。当从本地计算机使用javaw运行而无需webstart时,相同的应用程序可以正常工作。 应

  • 是否有一种干净的方法来检测spring启动应用程序何时停止,并在停止之前执行一些操作?一种停止服务的CommandLineRunner 提前谢谢

  • 有一个很奇怪的问题...有一次我打开我的项目,并注意到我没有机会从工作室推出app...黑色三角形唱罩禁用 但是,如果我构建apk文件并使用adb命令安装它,它就可以工作。 我已经尝试删除和下载新的Android Studio,但没有任何改变... 我的插件 我的配置

  • 我试图运行我的spring boot应用程序,设置了以下属性,我希望它继续重试从配置服务器加载属性50次,在任何两次尝试之间等待6秒,即使在此之后,它不能连接到配置服务器,它应该恢复启动或退出(我对重试后spring boot能够做的事情无所谓)。但它似乎并不像预期的那样表现。 我的启动命令- 如果您想要一个嵌入式数据库,请在类路径上放置一个受支持的数据库。如果要从特定配置文件加载数据库设置,则可

  • 正在启动lib/main。调试模式下sdk gphone arm64上的dart。。。正在运行Gradle任务“assembleDebug”。。。✓ 构建/应用/输出/颤振apk/应用调试。阿普克。安装build/app/outputs/flatter apk/app。apk。。。E/AndroidRuntime(22444):致命异常:主E/AndroidRuntime(22444):进程:co