0
我正在開發一個使用Cordova和Worklight 6.3的應用程序,並且我有使用camera.getPicture函數的問題。navigator.camera.getPicture在android中不工作
請檢查下面的代碼片段的相機。
var cameraOptions = {
quality: 50,
targetWidth: 720,
targetHeight: 600,
encodingType: Camera.EncodingType.JPEG,
destinationType: Camera.DestinationType.DATA_URL,
correctOrientation: true,
sourceType: Camera.PictureSourceType.CAMERA
};
Android的錯誤日誌:
08-04 12:43:26.727: E/PluginManager(1168): Uncaught exception from plugin
08-04 12:43:26.727: E/PluginManager(1168): java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)' on a null object reference
08-04 12:43:26.727: E/PluginManager(1168): at android.support.v4.content.FileProvider.parsePathStrategy(FileProvider.java:560)
08-04 12:43:26.727: E/PluginManager(1168): at android.support.v4.content.FileProvider.getPathStrategy(FileProvider.java:534)
08-04 12:43:26.727: E/PluginManager(1168): at android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:376)
08-04 12:43:26.727: E/PluginManager(1168): at cordova.camera.CameraLauncher.takePicture(CameraLauncher.java:302)
08-04 12:43:26.727: E/PluginManager(1168): at cordova.camera.CameraLauncher.callTakePicture(CameraLauncher.java:276)
08-04 12:43:26.727: E/PluginManager(1168): at cordova.camera.CameraLauncher.execute(CameraLauncher.java:185)
08-04 12:43:26.727: E/PluginManager(1168): at org.apache.cordova.CordovaPlugin.execute(CordovaPlugin.java:86)
08-04 12:43:26.727: E/PluginManager(1168): at org.apache.cordova.PluginManager.exec(PluginManager.java:153)
08-04 12:43:26.727: E/PluginManager(1168): at org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:61)
08-04 12:43:26.727: E/PluginManager(1168): at org.apache.cordova.ExposedJsApi.exec(ExposedJsApi.java:40)
08-04 12:43:26.727: E/PluginManager(1168): at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
08-04 12:43:26.727: E/PluginManager(1168): at org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:39)
08-04 12:43:26.727: E/PluginManager(1168): at android.os.Handler.dispatchMessage(Handler.java:102)
08-04 12:43:26.727: E/PluginManager(1168): at android.os.Looper.loop(Looper.java:148)
08-04 12:43:26.727: E/PluginManager(1168): at android.os.HandlerThread.run(HandlerThread.java:61)
我按照IBM修復,但同樣的錯誤 https://www.ibm.com/support/knowledgecenter/SSHS8R_6.3.0/com.ibm.worklight.dev.doc/dev/t_android_cam_api_24.html
AndroidManifest.xml中
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId.fileprovider"
android:exported="false"
android:grantUriPermissions="true" >
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
特定於Android版本的問題? –
請參閱:[我如何避免濫用標籤?](https://meta.stackoverflow.com/questions/354427/how-do-i-avoid-misusing-tags) – EJoshuaS
Vinin K,我測試了幾個版本同樣的問題:/ –