我得到的幫助android: how to register my app as "camera app"但仍然是無法正常工作註冊我的應用程序的相機應用中的Android
我與我的聯繫應用試圖照片添加到現有保存的聯繫人,其中URI會等產生下面
content://com.google.android.contacts.files/my_cache/ContactPhoto-IMG_20170412_123034.jpg
,但我不能訪問到該聯繫人的應用程序目錄,所以我不能保存的照片上那個URI,如果我這樣做,我會得到FIleNotFoundException
,
Uri saveUri = (Uri) getIntent().getExtras().getParcelable(MediaStore.EXTRA_OUTPUT);
if (saveUri != null)
{
// Save the bitmap to the specified URI (use a try/catch block)
outputStream = getContentResolver().openOutputStream(saveUri); <-----File Not Found Exception
Menifest是
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<activity
android:name=".CameraSelfieActivity"
android:clearTaskOnLaunch="true"
android:icon="@drawable/icon_chooser_selfie"
android:label="My Camera"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.media.action.IMAGE_CAPTURE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
logcat的是
java.io.FileNotFoundException: /my_cache/ContactPhoto-IMG_20170417_205819.jpg: open failed: ENOENT (No such file or directory)
at libcore.io.IoBridge.open(IoBridge.java:452)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at com.example.CameraSelfieBaseHelper.copyFileToUri(CameraSelfieBaseHelper.java:391)
at com.example.CameraSelfieBaseHelper.processImageReady(CameraSelfieBaseHelper.java:364)
at com.example.CameraSelfieBaseHelper.onImageReady(CameraSelfieBaseHelper.java:266)
at com.example.captureImage(CmGLSV.java:50)
at com.example.surface.CmGLSV.onDrawFrame(CmGLSV.java:135)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1535)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
at libcore.io.IoBridge.open(IoBridge.java:438)
但相同功能默認相機應用實現
會有人有建議如何解決此問題
謝謝,
Uri值是從哪裏來的? – CommonsWare
堆棧跟蹤將很好閱讀。 – tynn
我已經打開了我的聯繫人應用程序,因爲我想添加新照片到我的一個聯繫人,所以我已經打開了我的相機,我得到了上面的Uri –