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