关于Android 4.4(华为)调用系统相机问题
最近使用測試機(華為,4.4系統)調用系統相機進行拍照時,點擊拍照完成,手機又反回了拍照頁面,此時應該setResult上一個頁面,但是上一個頁面的onActivityResult沒有被調用,大概有些小米手機也會這樣吧,記錄下解決方法:
原先是在A頁面的onCreate方法中啟動了調用系統相機:
這時啟動了系統相機界面B,拍照完成后setResult返回無法調用onActivityResult,還有一個Error,忘記是啥了,大概意思是說在這個界面onresume的時候出現的問題。
解決方案是:
把啟動系統相機的代碼放在A頁面的onresume方法中即可解決:
ps:千萬別在oncreate方法中啟動。
在三星系列手機上調用系統相機可能會拿不到返回值的相關問題:
調用系統相機:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); mPicUri = ""; intent.putExtra(MediaStore.EXTRA_OUTPUT, mPicUri); startActivityForResult(intent, requestCode);結果拍照回來mPicUri這個沒有值,但是本地是有圖片的…這個問題主要是三星拍照返回后屏幕方向轉換并重新創建了單前的Activity,導致在OnActivityResult中不能拿到值。
首先第一可以先試著給activity節點加上些常數,告訴手機這個頁面重新創建的時候參數給我留著:
…….
如果這個還不行,那么久采用跳轉一個透明的activity方式來傳遞數據,也就是
CurrentActivity——>沒有布局的Activity——>調用拍照三星
沒有布局的Activity作為一個中間層,可以在onSaveInstanceState方法中保存好值【outState.putString("tag",uri)】,當被系統重新創建這個Activity時取出保存的數據【oncreate 中 savedInstanceState.getString("tag")】,然后返回給CurrentActivity這個頁面即可(這樣有個好處,用戶不會感覺到重新創建屏幕旋轉)!
總結
以上是生活随笔為你收集整理的关于Android 4.4(华为)调用系统相机问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第6章 项目整体管理
- 下一篇: 二层数据帧转发过程