⑴ 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調用系統拍照的代碼:
創建Intent Intent openCameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
String imagePath = Environment.getExternalStorageDirectory() + "/image" ;
設置文件路徑 File file = new File(imagePath);
if(!file.exists()){
file.mkdirs(); }
設置URI,指定相冊拍照後保存圖片的路徑,Uri imageUri = Uri.fromFile(new File(imagePath, "image.jsp"));
openCameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(openCameraIntent, REQUEST_CODE_TAKING_PICTURES);
拍照完以後,文件就會保存在這個指定的目錄下了。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!