ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Android11文件存储,嵌入式软件开发面试题

2022-02-04 12:35:00  阅读:209  来源: 互联网

标签:面试题 return MediaColumns Android11 嵌入式软件 values put new MediaStore


if (i != PackageManager.PERMISSION_GRANTED) {

// 提示用户应该去应用设置界面手动开启权限

} else {

context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(filePath)));

}

} else {

context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(filePath)));

}

return true;

} catch (FileNotFoundException e) {

MLog.e("FileNotFoundException e.toString: " + e.toString());

e.printStackTrace();

return false;

} catch (IOException e) {

MLog.e("IOException e.toString: " + e.toString());

e.printStackTrace();

return false;

}

}

//2021/4/15 功能描述:Android10及以上保存图片到相册

public static boolean saveImageQ(Context context, Bitmap image, String name) {

Long mImageTime = System.currentTimeMillis();

String mImageFileName = MStringUtils.isNullOrEmpty(name) ? MOtherUtils.getPictureStorageTime() : name;

final ContentValues values = new ContentValues();

values.put(MediaStore.MediaColumns.RELATIVE_PATH, Environment.DIRECTORY_DCIM

  • File.separator + “demo”); //图库中显示的文件夹名。

values.put(MediaStore.MediaColumns.DISPLAY_NAME, mImageFileName);

values.put(MediaStore.MediaColumns.MIME_TYPE, “image/png”);

values.put(MediaStore.MediaColumns.DATE_ADDED, mImageTime / 1000);

values.put(MediaStore.MediaColumns.DATE_MODIFIED, mImageTime / 1000);

values.put(MediaStore.MediaColumns.DATE_EXPIRES, (mImageTime + DateUtils.DAY_IN_MILLIS) / 1000);

values.put(MediaStore.MediaColumns.IS_PENDING, 1);

ContentResolver resolver = context.getContentResolver();

final Uri uri = resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

try {

// 写下我们截图的实际数据

try (OutputStream out = resolver.openOutputStream(uri)) {

if (!image.compress(Bitmap.CompressFormat.PNG, 100, out)) {

throw new IOException(“Failed to compress”);

}

}

// 一切都很顺利、

values.clear();

values.put(MediaStore.MediaColumns.IS_PENDING, 0);

values.putNull(MediaStore.MediaColumns.DATE_EXPIRES);

resolver.update(uri, values, null, null);

return true;

} catch (IOException e) {

MLog.e(e.getMessage());

return false;

}

}

}

对ll_dialog进行截图:

Bitmap bm = Bitmap.createBitmap(ll_dialog.getWidth(), ll_dialog.getHeight(),

Bitmap.Config.ARGB_8888);

Canvas canvas = new Canvas(bm);

ll_dialog.draw(canvas);

调用

RichPictureStorageUtils.isSaveImage(Activity.this, bm,name);

public static final String[] STANDARD_DIRECTORIES = {

DIRECTORY_MUSIC,

DIRECTORY_PODCASTS,

DIRECTORY_RINGTONES,

结尾

我还总结出了互联网公司Android程序员面试涉及到的绝大部分面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料,免费分享给大家。
(包括Java在Android开发中应用、APP框架知识体系、高级UI、全方位性能调优,NDK开发,音视频技术,人工智能技术,跨平台技术等技术资料),希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。

领取方式:关注+点赞+点击我的GitHub 免费获取

/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)!**

image

标签:面试题,return,MediaColumns,Android11,嵌入式软件,values,put,new,MediaStore
来源: https://blog.csdn.net/wa32saa/article/details/122782304

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有