0

我正在尝试在我的应用程序中使用设备摄像头,但出现错误并且未显示摄像头。错误是

无法为本地存储创建文件

我的控制器代码是

   function choosePhotoDialogClicked(e) {
        if (Ti.Media.hasCameraPermissions) {
            openCamera();
       }else {
            alert("No camera permission. Asking for Permission");
            Ti.Media.requestCameraPermissions(function(e) {
                alert('request result'+JSON.stringify(e));
                if (e.success === true) {
                    openCamera();
                } else {
                    alert("Access denied, error: " + e.error);
                }
            });
        }
    }
    function openCamera(){
        Ti.Media.showCamera({
          allowEditing: true,
          saveToPhotoGallery: true,
          mediaTypes: [Titanium.Media.MEDIA_TYPE_PHOTO],
          success: function(event) {

            writeFile = Ti.Filesystem.getFile(Ti.Filesystem.applicationCacheDirectory, 'ana.png');
            writeFile.write(event.media);
            $.addNewPhoto.setTitle('اضافة صورة اخرى');

          },
          error: function(error) {
            alert('showcamera error ->'+JSON.stringify(error));
            //alert('خطأ في اعدادات الكاميرا');
          }
        });
    }

和 tiapp.xml 清单代码

    <android xmlns:android="http://schemas.android.com/apk/res/android">
        <manifest>
            <uses-permission android:name="android.permission.INTERNET" />
            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
            <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
            <uses-permission android:name="android.permission.CAMERA" />
            <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
            <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
            <uses-feature android:name="android.hardware.camera" />
            <uses-feature android:name="android.hardware.camera.autofocus" />

            <application>
                <activity   
                android:name="ti.modules.titanium.media.TiCameraActivity"  
                android:configChanges="keyboardHidden|orientation"  
                android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
            </application>
            <application android:theme="@style/Light"/>
            <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23"/>
        </manifest>
    </android>

任何帮助将不胜感激

4

1 回答 1

0

这是 Android 权限的问题,Fokke 和团队几个月前为 Marshmallow 写了一篇关于此的博客。

于 2016-06-19T00:44:37.813 回答