android ui 读取外部设备scdard的图片设置程序背景
2011-08-24 16:15
1166 查看
private static int photo_pick = 1;
/*
调用select picture,如果是想选择audio 则把 “image” 变为 “audio”
有关之类的技巧可以看 http://blog.csdn.net/chenzheng_java/article/details/6266135
*/
private void startSetBackGroundActivty(){
Intent innerIntent = new Intent(Intent.ACTION_GET_CONTENT);
innerIntent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
/*
此处返回到result是 图片在media的uri
*/
startActivityForResult(innerIntent, photo_pick);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// 接收被调方 Activity 返回的数据
switch (resultCode) {
case RESULT_OK:
if(requestCode == photo_pick){
Uri uri = null;
uri = data.getData();
if(uri == null)
break;
Log.i(TAG,"RETURN VALUE "+uri);
ContentResolver resolver = null;
resolver = this.getContentResolver();
Media m = new Media();
Bitmap bm = null ;
try {
bm = m.getBitmap(resolver, uri);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mDraw = new BitmapDrawable(bm);
this.getWindow().setBackgroundDrawable(mDraw);
mDraw = null;
/* //以下 保存设置好的文件的某个地方(BACKGROUND_FILE.)
if(BACKGROUND_FILE.exists()){
BACKGROUND_FILE.delete();
}
try {
if(!mBackGroundDir.exists())
mBackGroundDir.mkdir();
BACKGROUND_FILE.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
FileInputStream fin = null;
try {
fin = (FileInputStream) resolver.openInputStream(uri);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
FileOutputStream fos = null;
try {
fos = new FileOutputStream(BACKGROUND_FILE);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
Log.i(TAG,"-----------------------=== \n");
e.printStackTrace();
}
byte[] buffer = new byte[4096];
int ret = 0;
try {
while((ret = fin.read(buffer, 0, 4096)) > 0 ){
fos.write(buffer, 0, ret);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
*/
break;
}
}
/*
调用select picture,如果是想选择audio 则把 “image” 变为 “audio”
有关之类的技巧可以看 http://blog.csdn.net/chenzheng_java/article/details/6266135
*/
private void startSetBackGroundActivty(){
Intent innerIntent = new Intent(Intent.ACTION_GET_CONTENT);
innerIntent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
/*
此处返回到result是 图片在media的uri
*/
startActivityForResult(innerIntent, photo_pick);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// 接收被调方 Activity 返回的数据
switch (resultCode) {
case RESULT_OK:
if(requestCode == photo_pick){
Uri uri = null;
uri = data.getData();
if(uri == null)
break;
Log.i(TAG,"RETURN VALUE "+uri);
ContentResolver resolver = null;
resolver = this.getContentResolver();
Media m = new Media();
Bitmap bm = null ;
try {
bm = m.getBitmap(resolver, uri);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mDraw = new BitmapDrawable(bm);
this.getWindow().setBackgroundDrawable(mDraw);
mDraw = null;
/* //以下 保存设置好的文件的某个地方(BACKGROUND_FILE.)
if(BACKGROUND_FILE.exists()){
BACKGROUND_FILE.delete();
}
try {
if(!mBackGroundDir.exists())
mBackGroundDir.mkdir();
BACKGROUND_FILE.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
FileInputStream fin = null;
try {
fin = (FileInputStream) resolver.openInputStream(uri);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
FileOutputStream fos = null;
try {
fos = new FileOutputStream(BACKGROUND_FILE);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
Log.i(TAG,"-----------------------=== \n");
e.printStackTrace();
}
byte[] buffer = new byte[4096];
int ret = 0;
try {
while((ret = fin.read(buffer, 0, 4096)) > 0 ){
fos.write(buffer, 0, ret);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
*/
break;
}
}
相关文章推荐
- android 读取sd卡(sdcard)图片设置为按钮背景(Button背景设置)代码
- android 项目中设置背景图片
- Android布局自定义Shap圆形ImageView可以单独设置背景与图片
- CocoStudio 0.2.4.0 UI编辑器下根Panel控件设置背景图片时一个BUG
- android canvas读取背景图片,涂鸦之后保存
- Android Studio App设置Activity背景图片
- android在学习——Menu背景图片,背景色的设置
- Android apk代码中动态设置背景图片
- Android布局自定义Shap圆形ImageView,可以单独设置背景与图片
- Android Theme设置背景图片,底部被导航栏遮盖
- Android基础小技术点:Android ListView设置背景图片及分割线、周边距
- Android设置背景图片平铺
- Android studio设置背景图片
- Android Intent设置类型setType()-调用手机默认分享和读取相册图片
- android 背景图片的设置
- android 从asserts 读取图片做背景
- Android之Android studio设置背景图片
- Android设置桌面背景图片的方法
- android中自定义Button,设置不同背景图片。
- android <ImageButton>设置背景图片无法显示