A. android 调用系统相机拍照后怎么才能不把照片进行预览,让他直接返回到
你需要自己实现相机,就是用Camera
B. android调用拍照功能返回图片后,系统屏幕横着显示了
这是由于横竖切换的时候Activity会重新onCreate一下,为防止这种问题,需要做以下设置:
在AndroidManifest.xml的每一个需要禁止转向的Activity配置中加入android:screenOrientation=”landscape”属性。
参数说明:
landscape = 横向
portrait = 纵向
避免在转屏时重启Activity
android中每次屏幕方向切换时都会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次 Create的时候载入配置,那样,进行中的游戏就不会自动重启了!
要避免在转屏时重启Activity,可以通过在AndroidManifest.xml文件中重新定义方向(给每个Activity加上android:configChanges=”keyboardHidden|orientation”属性)。
在需要控制屏幕显示方向的Activity中重写onConfigurationChanged(Configuration newConfig)方法,这样在转屏时就不会重启Activity了。
C. Android 调用系统相机点确定执行返回
不太理解你的描述……
你指的是startActivity和startActivityForResult两种方法调用时的界面差异吧。
像这种支持回调的应用,根据调用方式与传递参数的不同,页面的样式与后续的处理是有可能不一样的。
你可以用两种方式调用下,看看是不是你说的情况。
另外通过桌面启动b应用,与通过a应用调用b应用的某个界面,情况也不一样。这涉及到堆栈与context(上下文),就像你有一副扑克与一副三国杀,你可以把一张“杀”插入到扑克里,而回退键就相当于上一张牌,在三国杀的牌堆中,杀的上张牌可能是“闪”,但插进了扑克里,上一张也许就是方块8了……
D. android 调用相机如何得到照片的URI
你的方法没有错,这是标准的做法。返回的是小图。不过你可以在Intent里加这样一句,设置大图保存路径:
java">Intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(photoFile));
这样的话myBitmap应该就是null了。你可以试试是不是可以拿到uri。
E. android 怎么调用系统相机
这个很简单的,网络到处都有答案:
public class MainActivity extends Activity {
/** Called when the activity is first created. */
private Button button;
private ImageView view;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button1);
view= (ImageView)findViewById(R.id.imageView1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 1);
}
});
}
@SuppressLint("SdCardPath")
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
String sdStatus = Environment.getExternalStorageState();
if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) { // 检测sd是否可用
Log.i("TestFile",
"SD card is not avaiable/writeable right now.");
return;
}
new DateFormat();
String name = DateFormat.format("yyyyMMdd_hhmmss",Calendar.getInstance(Locale.CHINA)) + ".jpg";
Toast.makeText(this, name, Toast.LENGTH_LONG).show();
Bundle bundle = data.getExtras();
Bitmap bitmap = (Bitmap) bundle.get("data");// 获取相机返回的数据,并转换为Bitmap图片格式
FileOutputStream b = null;
File file = new File("/sdcard/Image/");
file.mkdirs();// 创建文件夹
String fileName = "/sdcard/Image/"+name;
try {
b = new FileOutputStream(fileName);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, b);// 把数据写入文件
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
try {
b.flush();
b.close();
} catch (IOException e) {
e.printStackTrace();
}
}
try
{
view.setImageBitmap(bitmap);// 将图片显示在ImageView里
}catch(Exception e)
{
Log.e("error", e.getMessage());
}
}
}
}
F. Android调用照相机和百度地图开发,百度地图显示界面覆盖了相机界面,求大神解答
android手机有自带的照相机和图库,我们做的项目中有时用到上传图片到服务器,今天做了一个项目用到这个功能,所以把我的代码记录下来和大家分享,有需求的朋友可以参考下
android手机有自带的照相机和图库,我们做的项目中有时用到上传图片到服务器,今天做了一个项目用到这个功能,所以把我的代码记录下来和大家分享,第一次写博客希望各位大神多多批评。
首先上一段调用android相册和相机的代码:
复制代码
代码如下:
Intent intent = new
Intent(MediaStore.ACTION_IMAGE_CAPTURE);//调用android自带的照相机
photoUri =
MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
startActivityForResult(intent,
1);
复制代码
代码如下:
Intent i = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);//调用android的图库
startActivityForResult(i, 2);
复制代码
代码如下:
@Override
protected void
onActivityResult(int requestCode, int resultCode, Intent data) {
//完成照相后回调用此方法
super.onActivityResult(requestCode, resultCode, data);
case 1:
switch (resultCode) {
case Activity.RESULT_OK://照相完成点击确定
String sdStatus = Environment.getExternalStorageState();
if
(!sdStatus.equals(Environment.MEDIA_MOUNTED)) { // 检测sd是否可用
Log.v("TestFile", "SD card is not avaiable/writeable right now.");
return; }
Bundle bundle = data.getExtras();
Bitmap bitmap = (Bitmap)
bundle.get("data");// 获取相机返回的数据,并转换为Bitmap图片格式
FileOutputStream b = null;
File file = new File("/sdcard/pk4fun/");
file.mkdirs();//
创建文件夹,名称为pk4fun //
照片的命名,目标文件夹下,以当前时间数字串为名称,即可确保每张照片名称不相同。网上流传的其他Demo这里的照片名称都写死了,则会发生无论拍照多少张,后一张总会把前一张照片覆盖。细心的同学还可以设置这个字符串,比如加上“IMG”字样等;然后就会发现sd卡中myimage这个文件夹下,会保存刚刚调用相机拍出来的照片,照片名称不会重复。
String str = null;
Date date = null;
SimpleDateFormat format = new
SimpleDateFormat("yyyyMMddHHmmss");// 获取当前时间,进一步转化为字符串
date = new
Date(resultCode);
str = format.format(date);
String fileName =
"/sdcard/myImage/" + str + ".jpg";
sendBroadcast(fileName);
try {
b
= new FileOutputStream(fileName);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, b);// 把数据写入文件
} catch
(FileNotFoundException e) {
e.printStackTrace();
} finally {
try {
b.flush();
b.close();
} catch (IOException e) {
e.printStackTrace();
}
} break;
case Activity.RESULT_CANCELED://
取消
break;
}
break;
case 2:
switch (resultCode) {
case
Activity.RESULT_OK: {
Uri uri = data.getData();
Cursor cursor =
mActivity.getContentResolver().query(uri, null,
null, null, null);
cursor.moveToFirst();
String imgNo = cursor.getString(0); // 图片编号
String imgPath = cursor.getString(1); // 图片文件路径
String imgSize =
cursor.getString(2); // 图片大小
String imgName = cursor.getString(3); // 图片文件名
cursor.close();
// Options options = new BitmapFactory.Options();
//
options.inJustDecodeBounds = false;
// options.inSampleSize = 10;
//
Bitmap bitmap = BitmapFactory.decodeFile(imgPath, options);
}
break;
case Activity.RESULT_CANCELED:// 取消
break;
}
break;
}
G. 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;
}
H. android 调用系统照相机,保存后回到前一个activity
修改相机源码编译,因为相机返回功能是点2次,保存并没有退出动作,这个不改源码或者在相机源码里面加Intent 是做不到这种效果的 。 我刚想了下,在广播或者Service里面加 OnKeyDown 方法 ,但是广播和service没有这方法,所以不能够靠监听到 返回键的键值 4 ,从而直接 Intent到 A activity的功能就无法实现 ,所以建议修改相机源码,即可实现 。 如果是纯应用, 抱歉,能想的都想了,实现不了。
I. 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中的完整图像
}
}
}
}
J. 一个Android程序,想实现调用系统相机拍照,然后存储照片的功能,代码如下。
多了括号哦。