微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何以编程方式通过android中的图像链接设置壁纸?

如何解决如何以编程方式通过android中的图像链接设置壁纸?

我正在尝试通过图片链接设置为墙纸。

我的问题:如何显示对话框“从服务器加载图像”和“设置壁纸”。在此弹出窗口出现后询问用户他们想要设置的位置

enter image description here

现状:当用户点击“设置壁纸”按钮时。它只显示对话框消息并继续加载。然后用户需要关闭弹出窗口并再次单击。这意味着他们需要单击 2 次才能设置墙纸。我想让它们更容易变得更透明。

基本上我想让我的用户知道哪个进程在 android 中运行

代码如下

progressDialog = ProgressDialog.show(getActivity(),"Please wait...","Set as your wallpaper...",false,true);
               

                Picasso.get()
                        .load(setImgLink)
                        .into(new Target() {
                            @Override
                            public void onBitmapLoaded(Bitmap bitmap,Picasso.LoadedFrom from) {
                                WallpaperManager wallpaperManager = WallpaperManager.getInstance(getActivity());

                                try {
                                    if (bitmap != null) {
                                        wallpaperManager.setBitmap(bitmap);
                                        Snackbar.make(relative_image_slider,"Wallpaper was set",Snackbar.LENGTH_SHORT).show();
                                        progressDialog.dismiss();
                                        ct_popup.setText("Wallpaper was set");
                                        final AlertDialog.Builder builder1 = new AlertDialog.Builder(getActivity());
                                        builder1.setView(subView);
                                        builder1.setPositiveButton("Close",new DialogInterface.OnClickListener() {
                                            @Override
                                            public void onClick(DialogInterface dialog,int which) {
                                                dialog.cancel();
                                                ((ViewGroup)subView.getParent()).removeView(subView);
                                            }
                                        });
                                        builder1.setIcon(R.mipmap.ic_launcher);
                                        builder1.setCancelable(false);
                                        builder1.create();
                                        builder1.show();
                                    }else {
                                        Toast.makeText(getActivity(),"Unable to set your wallpaper !!",Toast.LENGTH_LONG).show();
                                    }


                                } catch (IOException e) {
                                    Toast.makeText(getActivity(),"Something went wrong !!",Toast.LENGTH_LONG).show();
                                    e.printstacktrace();
                                }
                            }

                            @Override
                            public void onBitmapFailed(Exception e,Drawable errorDrawable) {

                            }

                            @Override
                            public void onPrepareLoad(Drawable placeHolderDrawable) {

                            }
                        });

解决方法

嘿,我有一些搜索,我找到了解决方案,请关注

https://www.geeksforgeeks.org/how-to-set-an-image-as-wallpaper-programmatically-in-android/

Programmatically set android phone's background

,

您是否以某种方式多次初始化 progressDialog?如果是,请初始化一次并在需要时编辑使用。

ProgressDialog progressDialog = new ProgressDialog(this); // Initialize once
progressDialog.setTitle("Please wait...");// can edit
progressDialog.setMessage("Set as your wallpaper...");// can edit
progressDialog.setCancelable(true);// can edit
progressDialog.setIndeterminate(false);// can edit
progressDialog.show();
progressDialog.dismiss();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。