Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android棒棒糖相机问题_Android_Bitmap_Android 5.0 Lollipop - Fatal编程技术网

Android棒棒糖相机问题

Android棒棒糖相机问题,android,bitmap,android-5.0-lollipop,Android,Bitmap,Android 5.0 Lollipop,我的android应用程序在2.3到4.4版本的所有android设备上都运行良好。然而,当我将我的三星Galaxy S4更新为棒棒糖并测试上述应用程序时,在功能上存在一些错误,如相机、地图等 下面是我的应用程序中使用的利用本机摄像头的代码片段: protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult( requestCode, resul

我的android应用程序在2.3到4.4版本的所有android设备上都运行良好。然而,当我将我的三星Galaxy S4更新为棒棒糖并测试上述应用程序时,在功能上存在一些错误,如相机、地图等

下面是我的应用程序中使用的利用本机摄像头的代码片段:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
   super.onActivityResult( requestCode,  resultCode,  data);
   if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK && null != data) 
   {    
      Bitmap camImg = (Bitmap) data.getExtras().get("data");
   }
}

在这里,我获取(位图)数据。getExtras().get(“数据”)为null。对于此代码是否有其他解决方案。如果您有任何帮助,我们将不胜感激。

您似乎在遵循文档,而此处选择的摄像头应用程序似乎没有

这是将这样的工作委托给第三方应用程序的风险之一——第三方应用程序可能有bug

你的选择是:

  • 切换到使用
    EXTRA_OUTPUT
    为全尺寸图像指定
    Uri
    。在结果中,如果没有
    数据
    位图
    ,请尝试读取全尺寸图像,使用
    BitmapFactory.Options
    将其向下采样到更合适的大小。可能仍然有一些支持
    ACTION\u IMAGE\u CAPTURE
    的摄像头应用程序不起作用,但这应该会减少此类损坏应用程序的数量

  • 自己使用
    android.hardware.Camera
    android.hardware.camera2
    API,避免依赖第三方应用程序


  • 在这一点上,我不同意Commonware。我在我的应用程序中使用安卓.hardware.Camera,并使用运行棒棒糖的三星Galaxy S4进行测试。问题似乎在于,在三星棒棒糖上运行应用程序时,onCreate在onActivityResult之前被调用

    我的建议是,在三星解决之前,将应用程序的最大目标设置为20(安卓4.4)。这是三星的问题

     android:maxSdkVersion="20"
    

    请显示您的
    startActivityForResult()
    呼叫。我正在使用自定义操作表。请参阅下面的代码。Intent cameraIntent=newintent(android.provider.MediaStore.ACTION\u IMAGE\u CAPTURE);startActivityForResult(摄像机帐篷、摄像机请求);谢谢马克·墨菲。我会试试这个,让你知道。为什么这个问题被否决。只是出于好奇而问。@prijin:“为什么这个问题被否决。只是出于好奇而问”——我没有办法知道。