- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
因此,有两个问题与此相同( How to use getCropAndSetWallpaperIntent method in WallpaperManager?和 How to use getCropAndSetWallpaperIntent?), 但对他们两个都没有答案。希望得到答案,我问这个 - 如何让这个方法起作用。
这行不通
WallpaperManager wallpaperManager = WallpaperManager.getInstance(MainActivity.this);
Uri uri = Uri.parse("android.resource://lv.revo.inspicfootballhd/drawable/v1");
Intent intent = new Intent(wallpaperManager.getCropAndSetWallpaperIntent(uri));
startActivity(intent);
logcat 显示这个
5891-5891/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: lv.revo.inspicfootballhd, PID: 5891
java.lang.IllegalArgumentException: Image URI must be of the content scheme type
at android.app.WallpaperManager.getCropAndSetWallpaperIntent(WallpaperManager.java:760)
at lv.revo.inspicfootballhd.MainActivity.onTouch(MainActivity.java:236)
at android.view.View.dispatchTouchEvent(View.java:7701)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2338)
at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1568)
at android.app.Activity.dispatchTouchEvent(Activity.java:2465)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2285)
at android.view.View.dispatchPointerEvent(View.java:7886)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:3947)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3826)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3392)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3442)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3411)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3518)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3419)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3575)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3392)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3442)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3411)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3419)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3392)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5532)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5512)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5483)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5612)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:138)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:5144)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:611)
at dalvik.system.NativeStart.main(Native Method)
因此,根据文档“将在 Intent 中设置的图像 URI。必须是内容 URI,其提供者必须将其类型解析为“image/*””
图像为.jpg 格式。明天我将继续寻找解决方案。我只是希望有更聪明的人知道我的问题的答案。
编辑/更新 1:所以我设法将uri更改为Content Uri,我相信是这样。是不是用这个 - https://stackoverflow.com/a/23223556/2727408
现在显示这个
java.lang.IllegalArgumentException: Cannot use passed URI to set wallpaper; check that the type returned by ContentProvider matches image/*
at android.app.WallpaperManager.getCropAndSetWallpaperIntent(WallpaperManager.java:792)
at lv.revo.inspicfootballhd.MainActivity.onTouch(MainActivity.java:244)
我尝试使用 ContentResolver getType(contentURI) 检查类型,它返回 null。现在我将尝试找到如何将其更改为 image/*
目前的代码是这样的
Uri uri = ResourceToUri(getApplicationContext(), imageArray[j]);
File wallpaper_file = new File(uri.getPath());
Uri contentURI = getImageContentUri(getApplicationContext(), wallpaper_file.getAbsolutePath());
ContentResolver cr = this.getContentResolver();
Log.d("CONTENT TYPE: ", "IS: " + cr.getType(contentURI));
Intent intent = new Intent(wallpaperManager.getCropAndSetWallpaperIntent(contentURI));
startActivity(intent);
到目前为止谢谢。
编辑/更新 2:在这里创建了关于我的新问题的新问题: How to change type to image/*
最佳答案
如错误所述,您需要一个内容 URI。内容 URI 允许您共享具有临时读写权限的文件。
checkout :Get a Content URI from a File URI?
关于android - 如何让 getCropAndSetWallpaperIntent(Uri imageUri) 工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30746196/
在调试以下代码时,我将 picUri 的值设为 null,并且我可以看到 picUri=null data:"Intent"{act =inline-data (has extras)}" in tr
我期待从 ImageView 访问当前图像的 Uri 的方法,以将其保存到我的数据库中,但我只找到了 setter。 setter/getter 在哪里?? 最佳答案 没有 setter/getter
我使用 PhoneGap 创建移动应用程序,可以从相册中选择图像,然后我想传递该图像并显示在另一个 html 页面中。有人知道该怎么做吗?这是我的代码 选择图像.html
我想从我的画廊加载图片并将其显示在我的应用程序中。我尝试了 ImageBitmap 和 ImageURI 但我只是不显示图片。 这是我的java代码的一部分: private ListView LIS
因此,有两个问题与此相同( How to use getCropAndSetWallpaperIntent method in WallpaperManager?和 How to use getCro
因此,有两个问题与此相同( How to use getCropAndSetWallpaperIntent method in WallpaperManager?和 How to use getCro
我从 WebAPI 获取了此数据,并希望更新 Web Api 中 imageUri 和 employeeBio 的值。我现在只能编辑 Bio,现在我想发送 PUT 请求来更新 imageUri 和 e
我正在尝试使用带有附件电话间隙插件的电子邮件编辑器从我的电话间隙应用程序发送图片作为附件。但是我无法让它工作。 我尝试了两种不同的方法。第一种方法是使用 Phonegap 相机 api 将 image
我需要通过在 intent extra 中提供的路径上创建一个图像文件来 stub 相机 intent。Espresso 只能响应 activityresult。我在哪里可以执行操作以从 intent
我正在尝试从手机相册中选取的图像中获取 base64,但我无法使其工作: 我试过这个: window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,
我在旧版本中使用 getBitmap 方法,但我找不到 getBitmap From Uri 的任何替代方法。 try { bitmap = MediaStor
这肯定是一个真正的新手问题,可能比 PhoneGap 更多地涉及到 Javascript 的工作原理。我正在关注this video它只是使用 PhoneGap 的相机插件拍照。 Here is相机插
我目前正在使用下面的函数从照片库中获取图像 function getImage() { // Retrieve image file location from specified sourc
我正在使用 CLoudFormation 在 AWS 上构建基础设施,并且想要创建一个从 ECR 提取代码镜像的 Lambda 函数。因此,我根据 ECR 存储库资源向我的 CloudFormatio
我已经被这行代码困住了好几天了。我有一个 ImageButton,它启动相机 Intent ,保存照片,将照片的位图缩略图设置到 ImageButton。我最终希望这张照片显示在 Google map
出于某种原因,我无法弄清楚为什么会出现问题。 我已经创建了一个公共(public) ECR 存储库,并尝试在我的 AWS::Lambda::Function 中的 Code block 下将图像引用为
我是一名优秀的程序员,十分优秀!