如何在安卓中调用本地壁纸选择器为我的布局设置壁纸?

6
这是我的问题。对于那些不知道我在问什么的人,我想在我的应用程序中让这个菜单出现http://db.tt/GQX9GBYF。问题是我不知道该如何实现。我认为我必须创建一个意图,从中获取图像路径,然后将其设置为背景。但我不知道确切的方法...请问是否有人能给我举个例子?;)
我必须说我通过启动本地画廊应用程序来完成了这个操作,但我也想设置活动壁纸。
2个回答

6

您可以使用Intent.ACTION_SET_WALLPAPER来启动Context菜单以选择壁纸:

Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER);
startActivity(Intent.createChooser(intent, "Select Wallpaper"));

好的,它起作用了,但它设置了启动器背景,我只想为我的应用程序设置壁纸...有什么想法吗??非常感谢!! - BamsBamx
myLayout.setBackgroundDrawable(getWallpaper()); 获取壁纸并将其设置为您的布局。 - user1446632
注意:如果你只是传递意图而不调用Intent.createChooser,那么默认应用程序将启动(在我的情况下是“动态壁纸”选择器)。 - Lerk

1

目前我正在做同样的事情。 接受的答案是正确的,但如果你想使用墙纸作为你的应用背景,那么你必须使用墙纸主题并调用Intent.Action_Set_Wallpaper来选择墙纸。

public void onCreate(Bundle savedInstanceState) {

 Activity.this.setTheme(android.R.style.Theme_Wallpaper);

super.onCreate(savedInstanceState);
setContentView(/*some layout*/);
}

//点击按钮时

Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER);
startActivity(Intent.createChooser(intent, "Select Wallpaper"));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接