我有一個完全正常工作的應用程序。它只有1我的相機意圖或權限問題。按下確定按鈕後,Android相機的活動不會返回到我的應用程序
應用程序應該在用戶按下按鈕時啓動相機活動。這工作正常,但是當用戶通過單擊相機上的確定按鈕來接受圖片時,它不會回到我的應用程序。如果他們按下相機上的取消按鈕,它會按預期回到我的應用程序。
我已經閱讀了所有在這裏可以找到的類似問題,但他們都沒有解決我的問題。我需要告訴相機到底在哪裏保存圖像,因爲我想在我的應用程序之間切換2。下面是一個創建相機意向,並開始它的代碼:
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.parse(imagePath));
startActivityForResult(intent, 11);
我已經嘗試了多個值imagePath
(這是一個字符串),但相機的OK鍵還沒有與任何人合作。這是我試過的路徑:
/mnt/sdcard/<appName>/cameraImages/image1.jpg
from Environment.getExternalStorageDirectory()
/mnt/sdcard/Android/data/<appPkg>/cache/<appName>/cameraImages/image1.jpg
from context.getExternalCacheDir()
/mnt/sdcard/Android/data/<appPkg>/cache/<appName>/cameraImages/image1.jpg
from context.getCacheDir()
我在清單文件以下權限:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
你們能幫我找出什麼是錯我的代碼,或告訴我什麼一個有效的路徑可能是?我更喜歡將圖像存儲在緩存位置,因爲在用戶離開應用程序後圖像不會持續存在並不重要,但我並不在乎誰能夠訪問圖像。
我正在4.1模擬器上進行所有測試,使用4.1 SDK編譯,我的最低版本是API 8(2.2)。
我已經在onActivityResult()
中提出了一個意向案例,但我認爲你們不需要看到那些代碼,因爲它不應該影響問題。
檢查真實設備一次。 &也檢查[this](http://stackoverflow.com/a/7224771/646806) – RobinHood
是否調用了'onActivityResult()'?你能看到日誌中的任何東西嗎? –
有人使用'context.getCacheDir()'爲'imagePath'檢查了應用程序的版本,他們有完全相同的體驗;相機應用程序中的確定按鈕不適用於他們。另外,當按下OK按鈕時,不會調用onActivityResult()。 – cmasupra