如何解决如何以编程方式通过android中的图像链接设置壁纸?
我正在尝试通过图片链接设置为墙纸。
我的问题:如何显示对话框“从服务器加载图像”和“设置壁纸”。在此弹出窗口出现后询问用户他们想要设置的位置
现状:当用户点击“设置壁纸”按钮时。它只显示对话框消息并继续加载。然后用户需要关闭弹出窗口并再次单击。这意味着他们需要单击 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 举报,一经查实,本站将立刻删除。