- 在目录packages/apps/Galllery2/res/raw添加图片资源
- 在目录packages/apps/Gallery2/src/com/android/gallery3d/app/AlbumSetPage.java中添加文件复制方法,用于将raw文件下的图片资源复制到内存SD卡中
private boolean copyFile(InputStream fis,String des){ boolean result=true; FileOutputStream fos=null; try{ File fout=new File(des); if(!fout.exists()){ fos=new FileOutputStream(fout); byte[] b=new byte[1024];//一张图片的大小不超过1K大小 int len; while((len=fis.read(b))!=-1){ fos.write(b, 0, len); } } }catch(IOException e){ e.printStackTrace(); result=false; }finally{ if(fos!=null){ try{ fos.close(); }catch(IOException e){ e.printStackTrace(); result=false; } } if(fis!=null){ try{ fis.close(); }catch(IOException e){ e.printStackTrace(); result=false; } } } return result; }
- 在目录packages/apps/Gallery2/src/com/android/gallery3d/app/AlbumSetPage.java中添加文件扫描方法,用于将复制到SD卡中的图片显示到图库中
public static final void scanFile(final Context context,final String path){ Intent scanIntent=new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); scanIntent.setData(android.net.Uri.formFile(new File(path))); context.sendBroadcast(scanIntent); }
- 在目录packages/apps/Gallery2/sre/com/android/gallery3d/app/AlbumSetPage.java中的onCreate方法中调用以上方法对资源进行加载
InputStream p1=mActivity.getResources().openRawResource(R.raw.p1); copyFile(p1,"/sdcard/Pictures/p1.jpg"); scanFile(context,"/sdcard/Pictures/p1.jpg");
在Android手机图库中预先内置图片
最新推荐文章于 2023-06-27 14:21:01 发布