首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用ACTION_SET_WALLPAPER设置壁纸

用ACTION_SET_WALLPAPER设置壁纸
EN

Stack Overflow用户
提问于 2015-07-21 11:56:45
回答 1查看 2K关注 0票数 0

我目前正在设置壁纸,使用壁纸管理器,传递给它一个位图,但是这个图像是静态的,所以它不会随着屏幕移动,也不会给我一个裁剪图像的选项。我想在我调用它的时候使用ACTION_SET_WALLPAPER,它可以保存映像,但是当它试图将图像设置为裁剪它时,它给我祝酒词“加载失败的图像”,然后退出到我的应用程序,

我的尝试

代码语言:javascript
复制
 Bitmap bitmap = ((BitmapDrawable) WallpaperView.getDrawable()).getBitmap();

                    Intent setAs = new Intent (Intent.ACTION_ATTACH_DATA);
                    setAs.setType("image/jpg");
                    ByteArrayOutputStream bytes = new      
                    ByteArrayOutputStream();
                    bitmap.compress(Bitmap.CompressFormat.JPEG,100,bytes);
                    File f = new File 
             (Environment.getExternalStorageDirectory()+ File.separator +   
                "/my_tmp_file.jpg");
                    try{
                        f.createNewFile();
                        FileOutputStream fo = new FileOutputStream(f);
                        fo.write(bytes.toByteArray());
                    }catch (IOException e){
                        e.printStackTrace();
                    }
                    setAs.setDataAndType
      (Uri.parse(Environment.getExternalStorageDirectory()+ File.separator +  
      "/my_tmp_file.png"),"image/jpg");
                    setAs.putExtra("mimeType", "image/jpg");
                    startActivity(Intent.createChooser(setAs, "Set Image 
                    As"));

我的代码仍然会保存图像,然后询问用户想要设置什么图像,但是如果我转到文件管理器,我可以选择刚才保存的图像,并将其设置为墙纸--没有人能告诉我为什么这不工作吗?

斯塔克迹..。

代码语言:javascript
复制
java.lang.IllegalArgumentException: URI is not absolute: /storage/emulated/0//my_tmp_file.png
        at java.net.URI.toURL(URI.java:1376)
        at com.lge.gallery.data.UriImage$JobState.openOrDownloadInner(UriImage.java:147)
        at com.lge.gallery.data.UriImage$JobState.openFileOrDownloadTempFile(UriImage.java:105)
        at com.lge.gallery.data.UriImage$JobState.prepareInputFile(UriImage.java:198)
        at com.lge.gallery.data.UriImage$BitmapJob.getBitmap(UriImage.java:256)
        at com.lge.gallery.data.UriImage$BitmapJob.run(UriImage.java:249)
        at com.lge.gallery.data.UriImage$BitmapJob.run(UriImage.java:240)
        at com.android.gallery3d.app.CropImage$LoadBitmapDataTask.run(CropImage.java:1490)
        at com.android.gallery3d.app.CropImage$LoadBitmapDataTask.run(CropImage.java:1483)
        at com.lge.gallery.util.ThreadPool$Worker.run(ThreadPool.java:167)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
        at java.lang.Thread.run(Thread.java:818)
        at 
 com.lge.gallery.util.PriorityThreadFactory$1.run
(PriorityThreadFactory.java:43)
07-23 00:47:26.395  26470-26470/? I/StorageStateManager﹕     
rootPath=/storage/emulated/0/ available_size=5782491136 request_size=1500000
07-23 00:47:26.395  26470-26470/? I/FloatableActivity﹕ onPostResume  
 activity=com.android.gallery3d.app.CropImage
(com.android.gallery3d.app.CropImage@149b6d72)
07-23 00:47:26.450  26470-26470/? I/FloatableActivity﹕ on attached from   
window activity=com.android.gallery3d.app.CropImage
07-23 00:47:26.530  26470-27056/? I/GalleryEGLConfigChooser﹕ Config chosen:   
 R8 G8 B8 A0 D0 S8 ID12 CAVEAT12344
07-23 00:47:26.540  26470-27056/? I/GLRootView﹕ onSurfaceChanged: 1440x2200,   
gl10: com.google.android.gles_jni.GLImpl@18efc101
07-23 00:47:26.541  26470-27056/? I/GLRootView﹕ layout content pane 1440x2200
07-23 00:47:26.568    1050-1151/? I/SystemUI[Framework]﹕   
PhoneWindowManager.updateSystemUiVisibilityLw() :visibility=0x8600,   
pkg=com.android.gallery3d
07-23 00:47:26.569    1461-1461/? I/[SystemUI]NavigationThemeResource﹕ notify   
navigation bar color(0xff000000)
07-23 00:47:26.570    1050-1151/? W/PhoneWindowManagerEx﹕   
Call!!!getLGSystemUiVisibility. =0x0
07-23 00:47:26.570    1050-1151/? I/SystemUI[Framework]﹕ ==>disabledNaviBtn()   
what=0x0, token=android.os.Binder@64e735,  pkg=WindowManager.LayoutParams 
07-23 00:47:26.570    1050-1151/? I/SystemUI[Framework]﹕ disableNaviBtn:   
mDisabledNaviBtn=0x0,  mDisableRecords.size=0
07-23 00:47:26.570    1461-1461/? I/[SystemUI]NavigationThemeResource﹕   
NavigationKey Color is changed(WHITE_WITH_SHADOW -> WHITE)
BarMode=4, Theme=BLACK, LightBackground=false (NOT Transparent)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-25 00:15:39

经过几天的搜索,我设法用这个家伙回答here来解决这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31538401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档