Tag Alat
direktori
Tag Alat
WallpaperManager(Wallpaper Manager)
Pengenalan kepada bahagian ini:
Apa yang dibawa oleh bahagian ini kepada anda ialah WallpaperManager, seperti namanya, ia berkaitan dengan kertas dinding telefon mudah alih
API Dalam bahagian ini kami akan menerangkan penggunaan asas WallpaperManager dan memanggil sistem itu sendiri
Fungsi pemilihan kertas dinding, tetapkan latar belakang Aktiviti sebagai latar belakang kertas dinding, dan tulis contoh menukar kertas dinding dengan kerap~
Okey, tiada BB, mari mulakan bahagian ini~
Dokumen API Rasmi: WallpaperManager
1.WallpaperManager Penggunaan asas
Kaedah berkaitan
Kaedah berkaitan untuk menetapkan kertas dinding:
- setBitmap(Peta bit peta bit): Tetapkan kertas dinding kepada peta bit yang mewakili Bitmap
- setResource(int resid): Tetapkan kertas dinding kepada gambar yang diwakili oleh sumber resid
- setStream(data InputStream): Tetapkan Kertas dinding ialah ditetapkan kepada gambar yang diwakili oleh data data
Kaedah lain:
- kosongkan(): Kosongkan kertas dinding dan tetapkannya semula kepada sistem kertas dinding lalai
- getDesiredMinimumHeight(): Ketinggian kertas dinding minimum
- getDesiredMinimumWidth(): Lebar kertas dinding minimum
- getDraw (): Dapatkan kertas dinding sistem semasa Jika tiada kertas dinding ditetapkan, kembalikan kertas dinding lalai sistem
- getWallpaperInfo(): Tambah bahawa kertas dinding semasa ialah kertas dinding dinamik dan kembalikan. maklumat kertas dinding dinamik
- peekDrawable(): Dapatkan kertas dinding sistem semasa, kembalikan null jika kertas dinding tidak ditetapkan
Dapatkan objek WallpaperManager
WallpaperManager wpManager =WallpaperManager.getInstance(this);
Kebenaran diperlukan untuk menetapkan kertas dinding
2 Panggil fungsi pemilihan kertas dinding sistem sendiri
Button btn_set = (Button) findViewById(R.id.btn_set);
btn_set.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent chooseIntent = new Intent(Intent.ACTION_SET_WALLPAPER);
startActivity(Intent.createChooser(chooseIntent, "选择壁纸"));
}
});Jalankan pemaparan:
<. 🎜>
3 Terdapat dua cara untuk menetapkan latar belakang Aktiviti sebagai latar belakang kertas dinding , satu ialah menetapkannya dengan kod dalam Aktiviti, dan yang lain ialah mengubah suainya dalam AndroidManifest.xml Tema aktiviti~!

Kaedah 1: Tetapkan dalam Aktiviti:
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(android.R.style.Theme_Wallpaper_NoTitleBar_Fullscreen);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}Kaedah 2: Ubah suai tema dalam AndroidManifest.xml :
<activity android:name=".MainActivity" android:theme="@android:style/Theme.Wallpaper.NoTitleBar"/>
4. Demo menukar kertas dinding dengan kerapPengurus Penggera (perkhidmatan jam penggera) yang dipelajari sebelum ini digunakan di sini. Jika anda tidak tahu mengenainya, anda boleh ke :
10.5 AlarmManager (Perkhidmatan jam penggera)Kajian~ Mari tulis Demo~
Menjalankan pemaparan:

Pelaksanaan kod:
Mula-mula, mari tulis Perkhidmatan yang menukar kertas dinding dengan kerap: WallPaperService.java
/**
* Created by Jay on 2015/11/13 0013.
*/
public class WallPaperService extends Service {
private int current = 0; //当前壁纸下标
private int[] papers = new int[]{R.mipmap.gui_1,R.mipmap.gui_2,R.mipmap.gui_3,R.mipmap.gui_4};
private WallpaperManager wManager = null; //定义WallpaperManager服务
@Override
public void onCreate() {
super.onCreate();
wManager = WallpaperManager.getInstance(this);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if(current >= 4)current = 0;
try{
wManager.setResource(papers[current++]);
}catch(Exception e){e.printStackTrace();}
return START_STICKY;
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
}Kemudian kami membuat reka letak mudah dengan tiga Butang: activity_main.xml :
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <Button android:id="@+id/btn_on" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="开启自动换壁纸" /> <Button android:id="@+id/btn_off" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="关闭自动换壁纸" /> <Button android:id="@+id/btn_clean" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="清除壁纸" /></LinearLayout>
Kemudian datang Aktiviti kami, di mana kami membuat instantiate aManager dan menyediakan acara yang dijadualkan~:MainActivity.java:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button btn_on;
private Button btn_off;
private Button btn_clean;
private AlarmManager aManager;
private PendingIntent pi;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//①获得AlarmManager对象:
aManager = (AlarmManager) getSystemService(ALARM_SERVICE);
//②指定要启动的Service,并指明动作是Servce:
Intent intent = new Intent(MainActivity.this, WallPaperService.class);
pi = PendingIntent.getService(MainActivity.this, 0, intent, 0);
bindViews();
}
private void bindViews() {
btn_on = (Button) findViewById(R.id.btn_on);
btn_off = (Button) findViewById(R.id.btn_off);
btn_clean = (Button) findViewById(R.id.btn_clean);
btn_on.setOnClickListener(this);
btn_off.setOnClickListener(this);
btn_clean.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_on:
aManager.setRepeating(AlarmManager.RTC_WAKEUP, 0, 3000, pi);
btn_on.setEnabled(false);
btn_off.setEnabled(true);
Toast.makeText(MainActivity.this, "自动更换壁纸设置成功", Toast.LENGTH_SHORT).show();
break;
case R.id.btn_off:
btn_on.setEnabled(true);
btn_off.setEnabled(false);
aManager.cancel(pi);
break;
case R.id.btn_clean:
try {
WallpaperManager.getInstance(getApplicationContext()).clear();
Toast.makeText(MainActivity.this, "清除壁纸成功~", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
break;
}
}
}Akhir sekali jangan lupa untuk menetapkan Kebenaran kertas dinding dan pendaftaran untuk Perkhidmatan kami: AndroidManifest.xml:
<uses-permission android:name="android.permission.SET_WALLPAPER" /> <service android:name=".WallPaperService"/>
Baiklah, sangat mudah~
5 Muat turun kod sampel dalam bahagian ini
Ringkasan bahagian ini:
Baiklah, bahagian ini memperkenalkan anda kepada beberapa asas Penggunaan WallpaperManager ~ Anda masih perlu lebih banyak perkara sendiri Teroka~
Terima kasih~!
Alat AI Hot
Gambar buka pakaian secara percuma
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.
Apl berkuasa AI untuk mencipta foto bogel yang realistik
Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak
Artikel Panas
Topik panas
Alat popular
Editor kod yang mudah digunakan dan percuma
Versi Cina, sangat mudah digunakan
Persekitaran pembangunan bersepadu PHP yang berkuasa
Alat pembangunan web visual
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)






Terima kasih~!





![Bermula dengan Pembangunan Praktikal PHP: Penciptaan PHP Pantas [Forum Perniagaan Kecil]](https://img.php.cn/upload/course/000/000/035/5d27fb58823dc974.jpg)
