【问题标题】:Samsung Camera Intent三星相机意图
【发布时间】:2015-01-30 11:23:07
【问题描述】:

让我在这里解决我的问题。
我正在使用Intent 通过沿Intent 传递文件来从相机文件中获取图像以返回它,但是在我对三星Galaxy S5 的测试中,如果图像是正常拍摄的,图像将返回,但是可以说,如果三星尝试处理低光并进行“所谓的艰苦工作”,则应用程序将崩溃。我尝试将fileName 存储在onSaveInstanceState 中并将其检索到onRestoreInstanceState 这可以防止应用程序崩溃,但是它会重新创建我的Activity,在它下面还有另一个Activity,它有BroadcastReceiver Activity 重新创建时已被销毁,是否有任何解决方法告诉三星拍摄没有其蹩脚功能的图像以防止这种情况发生?
编辑
通过仅发送Intent 而不传递Uri 文件的测试,它仍然在处理低光时,应用程序将崩溃。

【问题讨论】:

  • this 会帮忙吗?
  • @Skynet 不,它没有,我描述的问题是图像返回正常,只有当三星尝试处理低光时它会使应用程序崩溃。我正试图阻止它重新创建我的活动。
  • 请张贴此特定活动的清单声明。
  • @Skynet android:name=".activities.PhotoActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:screenOrientation="user"
  • 看起来不错,你可以使用Debug 类来确定它到底在哪里崩溃了吗?

标签: android android-intent samsung-mobile android-camera-intent


【解决方案1】:

在三星 S5 上的 Android 上开发 Cordova 应用程序时,我注意到了同样的问题 - 在常规模式下,三星相机应用程序似乎使用较少的内存,因此 Android 垃圾收集器不会杀死我们的应用程序。但是,在您描述的低光照模式下,Android 垃圾收集器会在后台杀死我们的应用。

Cordova 相机插件不支持 Android 生命周期,因此我必须 fork it,并将 imageUri(和其他一些设置)存储到首选项,以便在应用重新启动后再次检索它。

我认为您需要在您的 onActivityResult 方法中添加一个 Debug.waitForDebugger() 语句,这样当您的应用重新启动时,您可以连接调试器并逐步执行处理结果的代码。我的猜测是你引用了一个由于状态丢失而不可用的变量。

【讨论】:

    猜你喜欢
    • 2013-02-21
    • 2012-03-11
    • 2015-11-06
    • 1970-01-01
    • 2019-08-15
    • 2019-12-01
    • 1970-01-01
    • 2016-05-03
    • 1970-01-01
    相关资源
    最近更新 更多