首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER获取错误

在WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER获取错误
EN

Stack Overflow用户
提问于 2013-01-14 18:57:53
回答 1查看 4.1K关注 0票数 6

我正在按照this教程创建我的第一个实时墙纸。但是我在这两行得到了error can not be resolved or is not a field

WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT

在努力实现这一目标的同时

代码语言:javascript
复制
Intent intent = new Intent( WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER);
intent.putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT,
            new ComponentName(this, LiveWallService.class));

编译器提供了以下提示:

代码语言:javascript
复制
WallpaperManager.ACTION_LIVE_WALLPAPER_CHOOSER
WallpaperManager.COMMAND_DROP
WallpaperManager.COMMAND_SECONDARY_TAP
WallpaperManager.COMMAND_TAP
WallpaperManager.WALLPAPER_PREVIEW_META_DATA

有什么不对劲吗...?

EN

回答 1

Stack Overflow用户

发布于 2013-01-14 19:03:29

WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER仅在API级别16 (4.1.2)中添加。也许您已经将目标SDK版本设置为低于16的版本?

在API级别16以下,您只能使用intent action WallpaperManager.ACTION_LIVE_WALLPAPER_CHOOSER,将用户发送到整个LWP选择屏幕,并告诉他从那里选择您的墙纸。您可以通过以下方式设置代码:

代码语言:javascript
复制
Intent i = new Intent();

if(Build.VERSION.SDK_INT >= 16)
{
    i.setAction(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER);
    i.putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT, new ComponentName(packageName, canonicalName));
}
else
{
    i.setAction(WallpaperManager.ACTION_LIVE_WALLPAPER_CHOOSER);
}

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

https://stackoverflow.com/questions/14317167

复制
相关文章

相似问题

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