Java 安卓设置壁纸(打开询问对话框)

Java 安卓设置壁纸(打开询问对话框),java,android,wallpaper,android-external-storage,android-wallpaper,Java,Android,Wallpaper,Android External Storage,Android Wallpaper,我想在我的android应用程序中将图像设置为壁纸,下面是我的代码: private class SetAsBackground implements View.OnClickListener { @Override public void onClick(View v) { new AsyncTask<Void, Void, Void>() { @Override protected Void doIn

我想在我的android应用程序中将图像设置为壁纸,下面是我的代码:

private class SetAsBackground implements View.OnClickListener {
    @Override
    public void onClick(View v) {
        new AsyncTask<Void, Void, Void>() {
            @Override
            protected Void doInBackground(Void... params) {
                Looper.prepare();
                try {
                    mShareBitmap = Glide.with(WallPaperDetails.this).load(mImageURL).asBitmap()
                            .into(-1, -1).get();
                } catch (final ExecutionException | InterruptedException e) {
                    Log.e("loading_fail", e.getMessage());
                }
                return null;
            }

            @Override
            protected void onPostExecute(Void dummy) {
                if (null != mShareBitmap) {
                    new ImageSaver(WallPaperDetails.this)
                            .setFileName("wallpaper.png")
                            .setDirectoryName("fine")
                            .save(mShareBitmap);
                    WallpaperManager myWallpaperManager = WallpaperManager
                            .getInstance(WallPaperDetails.this);
                    try {
                        Bitmap bitmap = new ImageSaver(WallPaperDetails.this)
                                .setFileName("wallpaper.png")
                                .setDirectoryName("fine").load();
                        myWallpaperManager.setBitmap(bitmap);
                        Toast.makeText(WallPaperDetails.this,
                                "Wallpaper successfully changed", Toast.LENGTH_SHORT)
                                .show();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }.execute();

    }
}
私有类SetAsBackground实现View.OnClickListener{
@凌驾
公共void onClick(视图v){
新建异步任务(){
@凌驾
受保护的Void doInBackground(Void…参数){
Looper.prepare();
试一试{
mShareBitmap=Glide.with(wallperDetails.this).load(mImageURL.asBitmap())
.into(-1,-1).get();
}捕获(最终执行异常|中断异常e){
Log.e(“加载失败”,e.getMessage());
}
返回null;
}
@凌驾
受保护的void onPostExecute(void dummy){
if(null!=mShareBitmap){
新的ImageSaver(壁纸详细信息。此)
.setFileName(“wallpar.png”)
.setDirectoryName(“罚款”)
.save(mShareBitmap);
壁纸管理器MyWallpareManager=壁纸管理器
.getInstance(wallperDetails.this);
试一试{
位图位图=新的图像保护程序(壁纸详细信息。此)
.setFileName(“wallpar.png”)
.setDirectoryName(“精细”).load();
mywallparkmanager.setBitmap(位图);
Toast.makeText(wallperDetails.this,
“墙纸已成功更改”,Toast.LENGTH\u SHORT)
.show();
}捕获(IOE异常){
e、 printStackTrace();
}
}
}
}.execute();
}
}
但我想这样做:


我该怎么做?现在我正在使用带有图像保护程序类的墙纸管理器(我可以共享图像保护程序类的代码)。在谷歌搜索时,我没有找到任何其他答案。如果您可以解释该应用程序是如何做到这一点的,或者共享一些代码…

方法中的View v是什么?
Public void xyz(View v) {
    Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(Intent.createChooser(intent, "Select Picture"), 0);
}