应用程序崩溃捕获图像/从库中选择图像 - Titanium Android

时间:2016-03-16 08:03:50

标签: android titanium android-camera titanium-mobile

我正在尝试上传图片。以前,它一切正常。突然间它现在停止在Android上工作了。在iOS上测试相同的代码,工作正常。

用例: 1.单击按钮 - 打开相机(或可以从库中选择) 2.拍摄图像 3.按'确定'按钮 - 应用程序崩溃

我清除了大量内存,认为某些设备可能存在内存问题。根据新发行说明添加了相机权限,仍然面临问题。这是我的代码:

var dialog = Ti.UI.createOptionDialog({
    options : ['Camera', 'Gallery', 'Cancel'],
    title : 'Upload image using?'
});

dialog.show();

dialog.addEventListener('click', function(e) {

    if (e.index === 0) {

        //Open Camera
        Ti.Media.showCamera({
            saveToPhotoGallery : true,

            success : function(event) {
                console.error('UPLOAD IMAGE SUCCESS ', JSON.stringify(event));
                callback(event.media);
            },

            cancel : function(err) {
                console.error('UPLOAD IMAGE CANCEL ', JSON.stringify(err));
            },

            error : function(err) {
                console.error('UPLOAD IMAGE ERROR ', JSON.stringify(err));
            },

            showControls : true,
            mediaTypes : Ti.Media.MEDIA_TYPE_PHOTO,
            autohide : true
        });
    } else if (e.index === 1) {

        //Open gallery
        Ti.Media.openPhotoGallery({
            success : function(event) {
                console.error('UPLOAD IMAGE SUCCESS ', JSON.stringify(event));
                callback(event.media);
            },

            cancel : function(err) {
                console.error('UPLOAD IMAGE CANCEL ', JSON.stringify(err));
            },

            error : function(err) {
                console.error('UPLOAD IMAGE ERROR ', JSON.stringify(err));
            },
        });
    } else {
        // Do nothing
    }
    dialog.hide();
});

tiapp.xml

<manifest>
    <uses-permission android:name="android.permission.CAMERA" />
</manifest>

任何人都可以告诉代码有什么问题,还是我需要添加其他内容?

一些日志:

[DEBUG] :  skia: --- SkImageDecoder::Factory returned null
[DEBUG] :  skia: --- SkImageDecoder::Factory returned null
[DEBUG] :  skia: --- SkImageDecoder::Factory returned null
[DEBUG] :  skia: --- SkImageDecoder::Factory returned null
[DEBUG] :  skia: --- SkImageDecoder::Factory returned null
[DEBUG] :  Window: Window is closed normally.

1 个答案:

答案 0 :(得分:0)

要解决这个问题,我需要做两件事。

  1. 在tiapp.xml中添加

    <manifest> <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera"/> </manifest>

  2. 打开设置&gt;应用程序&GT;相机

    • 强制关闭,然后清除数据并缓存
    • 重新启动手机
  3. 这个我以前解决过,它开始工作了。