[英]set wallpaper using url android studio (Java)
我搜索了很多,但我不知道如何做到這一點,如果有人有辦法做到這一點
這是我的代碼:
public class MainActivity extends AppCompatActivity {
Button btn ;
String url;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn=findViewById(R.id.btnsetwallpaper);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//some code here so that I can set the wall paper of the phone using url
}
});
}
}
在清單中添加權限
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
實現畢加索來幫助你,文檔: https : //square.github.io/picasso/
在 MainActivity 中添加此 AsyncTask 類
public class SetWallpaper extends AsyncTask<String, Void, Bitmap> {
ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
@Override
protected Bitmap doInBackground(String... params) {
Bitmap bitmap = null;
try {
bitmap = Picasso.get().load(params[0]).get();
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
@Override
protected void onPostExecute (Bitmap result) {
super.onPostExecute(result);
WallpaperManager wallpaperManager = WallpaperManager.getInstance(getBaseContext());
try {
wallpaperManager.setBitmap(result);
progressDialog.dismiss();
Toast.makeText(getApplicationContext(), "Wallpaper changed", Toast.LENGTH_SHORT).show();
} catch (IOException ex) {
ex.printStackTrace();
}
}
@Override
protected void onPreExecute () {
super.onPreExecute();
progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setMessage("Loading image...");
progressDialog.setCancelable(false);
progressDialog.show();
}
}
然后在你的按鈕中調用它
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SetWallpaper sw = new SetWallpaper();
sw.execute(url);
}
});
希望對你有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.