相機使用基礎之 調用系統(tǒng)中的相機應用通過Intent直接調用系統(tǒng)相機直接調用系統(tǒng)的相機應用,,只需要在Intent對象中傳入相應的參數(shù)即可,總體來說需要以下三步: 1. Compose a Camera Intent MediaStore.ACTION_VIDEO_CAPTURE錄像,。
2. Start the Camera Intent 使用startActivityForResult()方法,并傳入上面的intent對象,。 之后,,系統(tǒng)自帶的相機應用就會啟動,用戶就可以用它來拍照或者錄像,。
3. Receive the Intent Result 用
關于接收圖像如果不設置接收圖像的部分,拍照完畢后將會返回到原來的activity,相片會自動存儲在拍照應用的默認存儲位置,。
為了接收圖像,,需要做以下幾個工作: 1.指定圖像的存儲位置,一般圖像都是存儲在外部存儲設備,,即SD卡上,。 你可以考慮的標準的位置有以下兩個: 這個方法返回圖像和視頻的標準共享位置,別的應用也可以訪問,,如果你的應用被卸載了,,這個路徑下的文件是會保留的。 為了區(qū)分,,你可以在這個路徑下為你的應用創(chuàng)建一個子文件夾,。 這個方法返回的路徑是和你的應用相關的一個存儲圖像和視頻的方法。 如果應用被卸載,,這個路徑下的東西全都會被刪除,。 這個路徑沒有什么安全性限制,別的應用也可以自由訪問里面的文件,。
2.為了接收intent的結果,,需要覆寫activity中的 前面說過,,可以不設置相機返回的圖像結果的操作,,此時在startActivityForResult()中不需要給intent傳入額外的數(shù)據(jù),這樣在onActivityResult()回調時,,返回的Intent data不為null,,照片存在系統(tǒng)默認的圖片存儲路徑下。 但是如果想得到這個圖像,,你必須制定要存儲的目標File,,并且把它作為URI傳給啟動的intent,使用MediaStore.EXTRA_OUTPUT作為關鍵字,。 這樣的話,,拍攝出來的照片將會存在這個特殊指定的地方,此時沒有thumbnail會被返回給activity的回調函數(shù),,所以接收到的Intent data為null,。
程序實例附上程序代碼,其中視頻存儲的返回結果部分沒有寫代碼,,視頻拍攝后會存入系統(tǒng)應用的默認位置,。 按 Ctrl+C 復制代碼 按 Ctrl+C 復制代碼 程序運行截圖,拍照之后返回: 參考資料Reference: Camera:http://developer./reference/android/hardware/Camera.html API Guides: Camera: http://developer./guide/topics/media/camera.html
|
|
來自: 昵稱32366704 > 《文件夾1》