当前位置:首页 » 安卓系统 » android调用图片

android调用图片

发布时间: 2022-11-20 06:18:29

1. Android webview调取安卓原生相机和相册上传图片

适配安卓10方式:
返回URI即可

手机上加载webview,网页上上传图片调用原生相机和相册上传图片

先设置好webview的加载以及websetting,这里就不多说了。

主要是setWebChromeClient方法的实现

这个方法分几个版本的适配3.0以下的设备,3.0到4.1的设备,4.1到5.0的设备,以及5.0以上的设备,每个方法参数不一样适配时请注意。5.0以下的参数都是 ValueCallback<Uri> ,以上的设备需要 ValueCallback<Uri[]> ,回传数据的时候也是对应的不要弄错了。

最后的效果如下:

2. Android studio中XML文件调用图片,这样有什么问题格式吗 还有就是Android

1.在drawable/pic2前面添加@,引用drawable-xhdpi,drawable-mdpi等文件夹下图片的格式是:@drawable/name_pic,同理引用其他xml文件的格式也是:@string/name_str,@dimen/name_dimen,@anim/name_anim,@array/name_array等

3. android调用系统图库的问题

调用系统图库:
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"选择图片"), 2);

获取图片的内容:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Drawable d =null;
if (requestCode == 2) {
if (Activity.RESULT_OK == resultCode) {
Uri uri1 = data.getData();
Cursor cursor = this.getContentResolver().query(uri1, new String[]{"_data"},null, null, null);
if(cursor.moveToFirst()){
String otherfile = cursor.getString(0);
d=Drawable.createFromPath(otherfile );
}
}
}
}

4. 如何调用android的内置图片

调用android的内置图片的方法:
方法一
Java code
File file=new File("/sdcard/IMG/1.jpg");
Intent it =new Intent(Intent.ACTION_VIEW);
Uri mUri = Uri.parse("file://"+file.getPath());
it.setDataAndType(mUri, "image/*");
startActivity(it);
方法二
Java code
ComponentName componentName=new ComponentName("com.cooliris.media","com.cooliris.media.Gallery"); Intent intent=new Intent();
intent.setComponent(componentName);
File file=new File("/sdcard/IMG/1.jpg");
Uri mUri = Uri.parse("file://"+file.getPath());
intent.setData(mUri);
intent.setAction(Intent.ACTION_VIEW);
startActivity(intent);

5. android 调用图库时怎样选择多张照片

步骤1:编写重定向到图片库的代码
我们需要写一些Java代码来处理按钮的点击事件,而重定向到图片库的代码如下:
Intent i = new Intent(
Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

startActivityForResult(i, RESULT_LOAD_IMAGE);

注意:这里的RESULT_LOAD_IMAGE是一个整形常量需要传到startActivityForResult()方法。
步骤2:获取选中的图片
一旦选择了一张图片,onActivityResult()方法将会被调用。我们需要处理这个方法得到的数据,代码如下:

1 @Override
2 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
3 super.onActivityResult(requestCode, resultCode, data);
4
5 if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
6 Uri selectedImage = data.getData();
7 String[] filePathColumn = { MediaStore.Images.Media.DATA };
8
9 Cursor cursor = getContentResolver().query(selectedImage,
10 filePathColumn, null, null, null);
11 cursor.moveToFirst();
12 13 int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
14 String picturePath = cursor.getString(columnIndex);
15 cursor.close();
16 }

注意:onActivityResult()方法只有当图片被选中后才会调用。在这个方法中,我们需要检查requestCode是否是我们之前传给startActivityForResult()方法的RESULT_LOAD_IMAGE。

6. Android通过外部存储调出图片,能不能看看代码哪有错

android.permission.READ_EXTERNAL_STORAGE


android.permission.WRITE_EXTERNAL_STORAGE

Android 6.0以下是没有问题的,6.0及其以上就要请求运行时权限了,添加权限,并且申请权限就行了。申请权限框架有很多可以自行搜索使用,也可以参照google官方模板范例。另外Imageview控件初始化的时候 不要再调用方法的时候才去初始化,防止控件未初始化完成就调用控件出现异常。应该再onCreate() 时就一并进行布局以及控件的初始化工作。


  • 检查权限

    public static final int REQUEST_READ_EXTERNAL_STORAGE = 9999;

    boolean hasPermission = ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
    if (hasPermission){
    //已经拥有权限
    getPictureFromAlbum();
    }else {
    //请求权限
    ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},REQUEST_READ_EXTERNAL_STORAGE);
    }

  • 权限处理

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    if (requestCode == REQUEST_READ_EXTERNAL_STORAGE){
    if (grantResults[0] == PackageManager.PERMISSION_GRANTED){
    //拥有权限
    getPictureFromAlbum();//读取相册图片
    }else {
    //权限拒绝 提示用户并重新申请权限,或者引导用户去主动设置权限
    }
    return;
    }

    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    }

  • 清单文件别忘了添加权限

    <uses-permission

    android:name="android.permission.READ_EXTERNAL_STORAGE" />


7. android中调用图片出现异常。但换成其他图片就没问题。

检查下格式、命名、引用路径

8. android怎样调用系统相册

使用系统自带的图片浏览器应用程序Gallery可以打开一张指定的图片,//使用IntentIntent intent = new Intent(Intent.ACTION_VIEW);//Uri mUri = Uri.parse("file://" + picFile.getPath());Android3.0以后最好不要通过该方法,存在一些小Bugintent.setDataAndType(Uri.fromFile(picFile), "image/*");startActivity(intent)

9. android 调用相册的图片 图片无法找到 路径应该怎么写

先引入Environment类,然后调用getExternalStorageDirectory()函数获得sd卡路径,然后连接在你的filename前面,应该就可以解决.

具体:
import android.os.Environment;

......

File f = new File(Environment.getExternalStorageDirectory() + fileName);

其他用到fileName的地方类似.

另外,读写sd卡需要在AndroidManifest.xml文件内加入权限,具体:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

10. android怎么调用系统自带的图库打开指定目录的相册

@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;
}

热点内容
为什么安卓手机不显示ext边框 发布:2025-03-06 12:19:16 浏览:198
存储时间种类 发布:2025-03-06 12:16:52 浏览:295
mfc连接数据库的 发布:2025-03-06 12:12:33 浏览:881
云服务器多网卡多ip 发布:2025-03-06 12:11:08 浏览:748
linuxtomcat服务器 发布:2025-03-06 12:09:49 浏览:203
华为的云存储是免费的吗 发布:2025-03-06 11:58:50 浏览:409
c语言中关系运算符 发布:2025-03-06 11:58:01 浏览:266
lsw端口配置错误怎么更改 发布:2025-03-06 11:57:16 浏览:285
建设银行手机银行密码在哪里修改 发布:2025-03-06 11:55:14 浏览:357
气瓶如何存储 发布:2025-03-06 11:51:28 浏览:555