當前位置:首頁 » 安卓系統 » android調用相機拍照保存

android調用相機拍照保存

發布時間: 2025-01-03 06:53:22

1. android 調用系統照相機拍照後獲得圖片路徑

{privateUrimOutPutFileUri;
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

ButtontakePiCButton=(Button)this.findViewById(R.id.button1);
takePiCButton.setOnClickListener(this);
}

@Override
publicvoidonClick(Viewv){
switch(v.getId()){
caseR.id.button1:
saveFullImage();
break;

default:
break;
}
}

privatevoidsaveFullImage(){
Intentintent=newIntent(MediaStore.ACTION_IMAGE_CAPTURE);
//文件夾aaaa
Stringpath=Environment.getExternalStorageDirectory().toString()+"/aaaa";
Filepath1=newFile(path);
if(!path1.exists()){
path1.mkdirs();
}
Filefile=newFile(path1,System.currentTimeMillis()+".jpg");
mOutPutFileUri=Uri.fromFile(file);
intent.putExtra(MediaStore.EXTRA_OUTPUT,mOutPutFileUri);
startActivityForResult(intent,1);

}

@Override
protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){
super.onActivityResult(requestCode,resultCode,data);
if(requestCode==1){
UriimageUri=null;
if(data!=null){
if(data.hasExtra("data")){
Bitmapthunbnail=data.getParcelableExtra("data");
//處理縮略圖
}
}else{
//處理mOutPutFileUri中的完整圖像
}

}
}
}

2. 在Android當中IntentIntegrator可不可以與其他調用攝像機的功能共存

拍照功能在應用開發中幾乎已成為標配,例如用戶通過拍照上傳頭像。實現拍照功能的方式有兩種。第一種是使用相機API(即Camera類)來自定義拍照,第二種是使用Intent調用系統相機來拍照。其中最常見的方式是直接調用系統相機拍照來獲取照片

3. Android調用手機相機拍照,保存圖片會出現2張解決辦法。

最近項目中使用系統相機拍照,保存圖片,發現一些問題。

  讀取圖片旋轉角度,然後再旋轉回去。

   使用BitmapFactory.Options,能更准確的獲取圖片格式,
   判斷地址末尾 .gif 有時候會不準確(不推薦)

  上傳伺服器,一般使用地址,但是用戶手動刪除圖片後,地址是無效的。為了防止地址無效,可以對需要上傳圖片地址做保存,但又希望系統讀取不到,可以對保存地址進行修改。

  讀取圖片地址api

  我們可以去系統相冊查看兩張圖片,會發現兩張圖片的地址是不一樣的,而且兩張圖片的大小也不同。
出現2張的原因是:
 (1)調用系統相機,拍照完成我們會生成一個保存地址,而這個地址是: /storage/android/data/包名/Picture/ ,這張是我們保存的拍照圖片。
 (2)相同的一張圖片在哪?這個地址是:/storage/Pictures/ ,這張圖片是系統復制的App目錄下Pictures中的圖片。

  所以就會出現在系統相冊兩張圖片,但兩張圖片大小不一致,地址不同。

  調用系統api,只能讀取到一張,是系統復制的那張,也就是 /storage/Pictures/ 目錄下的這張,但是/storage/android/data/包名/Picture/ 目錄下的沒有讀取到。

  知道了問題,就有解決辦法,可分為三種方法:
 (1)第一種方法:
     保存圖片的時候,修改下地址(可參照標題 3 ,這樣讓系統無法識別出這張圖片),結果就是,我讀取不到,系統也別想讀取不到,在系統相冊里也就看不到這張圖片。

 (2)第二種方法:
     因為api無法讀取到,那我們就直接再讀取/storage/android/data/包名/Picture/ 下的文件,把圖片一塊加入到同一個集合中用於展示,這樣所有的圖片都有了,但是系統相冊中還是有兩張圖片,為解決這個問題。

 (3)第三種方法:( )
     在我們保存圖片的時候,直接保存到 /storage/Pictures/ 這個目錄下,也不用系統幫我們復制了,這樣就只會出現一張,而且我們也能調用api直接讀取到,兩個問題全都解決了,完美!



(如果以上有錯誤或者有更優美的方式,感謝指出並改之,與君共勉)
這是我項目中出現的問題,希望能夠幫助到你,Thanks,Bye!

4. android打開本地照相機需要什麼許可權

在Android系統中,為了使應用能夠操作相機並進行拍照,開發者需要在應用的許可權請求中包含android.permission.CAMERA這一許可權。這一許可權的作用是允許應用訪問設備上的攝像頭,進而實現拍照、攝像等功能。在AndroidManifest.xml文件中,開發者需要明確聲明這一許可權,確保應用在運行時能夠順利獲取到相機的使用權。

值得注意的是,android.permission.CAMERA是一個危險許可權,根據Android系統的許可權管理機制,用戶在安裝應用時需要手動授權。這一機制有助於保護用戶的隱私安全,避免未經允許的訪問設備攝像頭。因此,在申請這一許可權時,開發者應當在應用中詳細解釋其必要性,以提高用戶授權的可能性。

除了android.permission.CAMERA這一核心許可權之外,為了實現更復雜的功能,開發者可能還需要申請其他相關的許可權。例如,若需訪問存儲卡以保存拍攝的照片或視頻,就需要申請android.permission.WRITE_EXTERNAL_STORAGE和android.permission.READ_EXTERNAL_STORAGE這兩個許可權。不過,根據最新的Android系統版本要求,僅申請android.permission.CAMERA就已經能夠滿足大部分拍照需求,除非應用確實需要訪問存儲卡。

最後,開發者需要確保在請求許可權時遵循Android系統的規范和最佳實踐。比如,在請求android.permission.CAMERA之前,應用應當先檢查當前是否已經獲得了該許可權。若未獲得,則應使用ActivityCompat.requestPermissions方法請求許可權,並在用戶授權後進行相應的操作。這樣可以避免因許可權問題導致應用崩潰或無法正常運行。

綜上所述,若要使Android應用能夠正常打開並操作本地照相機,開發者需要在應用中明確聲明android.permission.CAMERA這一許可權,並且在請求許可權時遵循相關的規范。通過合理的許可權管理和用戶溝通,開發者可以更好地滿足應用的功能需求,同時也保護了用戶的隱私安全。

5. android 調用系統照相機,保存後回到前一個activity

修改相機源碼編譯,因為相機返回功能是點2次,保存並沒有退出動作,這個不改源碼或者在相機源碼裡面加Intent 是做不到這種效果的 。 我剛想了下,在廣播或者Service裡面加 OnKeyDown 方法 ,但是廣播和service沒有這方法,所以不能夠靠監聽到 返回鍵的鍵值 4 ,從而直接 Intent到 A activity的功能就無法實現 ,所以建議修改相機源碼,即可實現 。 如果是純應用, 抱歉,能想的都想了,實現不了。

熱點內容
伺服器資料庫類型 發布:2025-01-05 12:59:32 瀏覽:416
編譯原理移植 發布:2025-01-05 12:49:16 瀏覽:318
android開屏 發布:2025-01-05 12:43:54 瀏覽:289
win7用戶文件夾 發布:2025-01-05 12:42:30 瀏覽:621
java培訓班南京 發布:2025-01-05 12:29:36 瀏覽:732
Idea自動編譯是什麼 發布:2025-01-05 12:28:02 瀏覽:527
考試筆試編程 發布:2025-01-05 12:15:45 瀏覽:157
變數配置是什麼意思 發布:2025-01-05 12:15:42 瀏覽:280
行李箱裝什麼密碼鎖好 發布:2025-01-05 12:14:57 瀏覽:976
家用無線存儲 發布:2025-01-05 12:14:47 瀏覽:620