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