通过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系统即可
谢谢!