通过Google+设置壁纸报错
[DESCRIPTION]
将图片通过google+设置墙纸的时候,提示google+已停止运行,主要标识log:
JAVA.lang.IllegalArgumentException: Cannot use passed URI to set wallpaper; check that the type returned
by ContentProvider matches image/*
[SOLUTION]
出现这个问题,是当前项目未使用默认Launcher,并且所使用的Launcher没有完全兼容Android设置墙纸功能导致。
具体是系统在做对应query的时候查找不到对应的Activity,这部分逻辑可以查看WallpaperManager.java的getCropAndSetWallpaperIntent()函数
frameworks/base/packages/WallpaperCropper具有同样的功能,MTK初始并未将WallpaperCropper编进系统,所以有2种方法可以解决这个问题:
1.在使用的Launcher里自带上类似WallpaperCropActivity的功能;
2.将WallpaperCropper编译到img里,具体修改为:
在
build/target/product/&pojectName.mk
中的
PRODUCT_PACKAGES := \
后添加此应用的申明:
WallpaperCropper
然后重build系统即可
谢谢!
将图片通过google+设置墙纸的时候,提示google+已停止运行,主要标识log:
JAVA.lang.IllegalArgumentException: Cannot use passed URI to set wallpaper; check that the type returned
by ContentProvider matches image/*
[SOLUTION]
出现这个问题,是当前项目未使用默认Launcher,并且所使用的Launcher没有完全兼容Android设置墙纸功能导致。
具体是系统在做对应query的时候查找不到对应的Activity,这部分逻辑可以查看WallpaperManager.java的getCropAndSetWallpaperIntent()函数
frameworks/base/packages/WallpaperCropper具有同样的功能,MTK初始并未将WallpaperCropper编进系统,所以有2种方法可以解决这个问题:
1.在使用的Launcher里自带上类似WallpaperCropActivity的功能;
2.将WallpaperCropper编译到img里,具体修改为:
在
build/target/product/&pojectName.mk
中的
PRODUCT_PACKAGES := \
后添加此应用的申明:
WallpaperCropper
然后重build系统即可
谢谢!
本文介绍了当尝试通过Google+应用设置壁纸时遇到的应用停止运行错误。错误原因为项目未使用默认Launcher,且Launcher不完全兼容Android壁纸设置功能。文章提供了两种解决方案:一是在Launcher中实现类似WallpaperCropActivity的功能;二是将WallpaperCropper应用编译进系统。

1328

被折叠的 条评论
为什么被折叠?



