導航:首頁 > 操作系統 > android調用相機保存圖片

android調用相機保存圖片

發布時間:2023-02-01 08:40:38

android 調用系統相機,不拍照直接按返回會怎麼樣

@Override
/*處理拍照完成後,傳遞數值事件*/
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
if (requestCode != 0) {
return;
}
//加上這個判斷就好了
if(resultCode==Activity.RESULT_CANCELED)
{
Intent it =new Intent(getApplicationContext(), GrenxxActivity.class);
it.putExtra("uno",uno);
startActivity(it);
finish();
return;
}

⑵ Android開發中怎麼將照片存儲到系統相冊中

java">//創建輸出流,指向SD卡的Pictures文件夾
finalFiledirectory=Environment.(Environment.DIRECTORY_DCIM);
//創建保存的文件
Filefile=newFile(directory,"test.png");
FileOutputStreamout=null;
try{
out=newFileOutputStream(file);

}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}finally{

}
//bitmap就是你的圖片
bitmap.compress(Bitmap.CompressFormat.PNG,100,out);

⑶ 一個關於android的問題,我通過下面的方法調用相機,可是怎麼可以在拍照結束後獲取照片的路徑呢

Android調用系統拍照的代碼:

  1. 創建Intent Intent openCameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

    String imagePath = Environment.getExternalStorageDirectory() + "/image" ;

  2. 設置文件路徑 File file = new File(imagePath);

    if(!file.exists()){

    file.mkdirs(); }

  3. 設置URI,指定相冊拍照後保存圖片的路徑,Uri imageUri = Uri.fromFile(new File(imagePath, "image.jsp"));

    openCameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);

    startActivityForResult(openCameraIntent, REQUEST_CODE_TAKING_PICTURES);

  4. 拍照完以後,文件就會保存在這個指定的目錄下了。Uri 里指定了相機拍照的路徑。

⑷ 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中的完整圖像
}

}
}
}

⑸ android,調用系統相機拍完照片並保存另一個activity 上,後退時,最初的activity卻被系統銷毀,怎麼辦

離開了只是暫時掛起activity,系統不會隨便銷毀activity的,除非你自己寫了finish或者內存不足了

⑹ Android 使用系統相機拍照和讀取相冊照片

1.拍照 (對於7.0以上的版本,不在允許直接訪問uri)
`

若不指定輸出路徑intent.putExtra(MediaStore.EXTRA_OUTPUT, getTempUri(srcActivity)); 在onActivityResult()中,通過

`
可以拿到uri,但獲得的圖片是被壓縮過的。若指定intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);輸出路徑,則此處的intent為null,但可以使用我們存的uri讀取照片,此時的照片沒有被壓縮。

2.從相冊中讀取照片, 方法:
`

`
即使設置 intent.putExtra(MediaStore.EXTRA_OUTPUT, getTempUri(srcActivity));輸出路徑,仍然不能從此路徑中讀取,只能在onActivityForResult()中通過event.uri = intent.getData();方式獲得圖片uri。
此種現象也好理解,拍照時產生新的圖片,自然可根據設置的uri進行圖片保存,而讀取相冊時,圖片已經在目錄中不能轉移到自己設定的uri中。

Androidmanifest.xml中
`

在 res/xml/provider_paths.xml
`

<?xml version="1.0" encoding="utf-8"?>
<paths>
<external-path name="JDTobs" path=""/>
<files-path name="name" path="path" />
<cache-path name="name" path="path" /> <external-path name="name" path="path" />
<external-files-path name="name" path="path" />
<external-cache-path name="name" path="path" /> </paths> `

讀取uri

⑺ android中當我點擊一個「復選款」的時候就打開「照相機」而且還要保存拍照的圖片到指定目錄。

你在OnActivityResult方法中 不要保存圖片到SD卡中,只寫上xxxxview.setImageBitmap(bitmap);或者是自定義個方法 然後在你登陸的onClick方法中寫文件保存到SD卡中

⑻ Android的相機調用時模擬器調試我拍的照片會保存到sd卡的相應位置,但是用真機時相應位置沒有圖片文件

manifest里是否添加了相應許可權
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
有時候不同手機需要不同的路徑寫法,大部分是這樣:

/sdcard/××/ -> /mnt/sdcard/××/

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

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

⑽ 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!

閱讀全文

與android調用相機保存圖片相關的資料

熱點內容
壓縮包多長時間能解壓 瀏覽:370
小說男主叫江宴女主叫溫暖 瀏覽:455
有一部小說主角叫唐糖 瀏覽:302
找一部小說主角叫陸宇 瀏覽:402
受重生悔過的小說 瀏覽:959
單片機顯示模塊電路 瀏覽:305
交換老婆系列小說 瀏覽:280
支持投屏的在線影院 瀏覽:844
男主是鴨子公關 瀏覽:61
yy680 瀏覽:787
二戰德國納粹電影 瀏覽:504
雲存儲搭建伺服器 瀏覽:851
被禁的40部小說有哪些 瀏覽:247
通吃小子好小子小傑 瀏覽:46
肉多的霸總文 瀏覽:943
可以投屏的電影網站 瀏覽:402
黃有聲故事 瀏覽:486
重生末世之塵華 瀏覽:748
優化演算法的輸入維數越不容易收斂 瀏覽:779
java極限編程pdf 瀏覽:132