Android-Service實(shí)現(xiàn)手機(jī)壁紙自動(dòng)更換
本文實(shí)例為大家分享了Android Service實(shí)現(xiàn)自動(dòng)更換手機(jī)壁紙的具體代碼,供大家參考,具體內(nèi)容如下
先看下效果:
使用界面:
劃重點(diǎn),使用service前別忘了給相應(yīng)的service添加服務(wù)
<service android:name=".ChangeService"></service>
具體實(shí)現(xiàn):
首先定義ChangeService類,繼承Service訪問系統(tǒng)實(shí)現(xiàn)壁紙切換
public class ChangeService extends Service { int[] wallpapers = new int[]{ R.drawable.a2, R.drawable.a3, R.drawable.a4 }; WallpaperManager wallpaperManager; int current = 0; @Override public void onCreate() { super.onCreate(); wallpaperManager = WallpaperManager.getInstance(this); } @Override public int onStartCommand(Intent intent, int flags, int startId) { if (current >= 3) { current = 0; } try { wallpaperManager.setResource(wallpapers[current++]); } catch (IOException e) { e.printStackTrace(); } return START_STICKY; } @Nullable @Override public IBinder onBind(Intent intent) { return null; } }
這里我們用鬧鐘訪問pendingIntent來實(shí)現(xiàn)壁紙更換:
public class MainActivity extends Activity { private Button mStart; private Button mStop; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mStart = (Button) findViewById(R.id.start); mStop = (Button) findViewById(R.id.stop); final Intent intent = new Intent(MainActivity.this, ChangeService.class); final PendingIntent pi = PendingIntent.getService(MainActivity.this, 0, intent, 0); mStart.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AlarmManager alarmManager = (AlarmManager) getSystemService(Service.ALARM_SERVICE); alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, 0, 2000, pi); mStart.setEnabled(false); mStop.setEnabled(true); Toast.makeText(MainActivity.this, "壁紙定時(shí)更換啟動(dòng)成功啦", Toast.LENGTH_SHORT).show(); } }); mStop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mStart.setEnabled(true); mStop.setEnabled(false); AlarmManager alarmManager = (AlarmManager) getSystemService(Service.ALARM_SERVICE); alarmManager.cancel(pi); } }); } }
布局設(shè)計(jì):
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:orientation="horizontal"> <Button android:id="@+id/start" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center_horizontal" android:text="Start" android:textSize="25dp" android:textColor="#ffffffff"/> <Button android:id="@+id/stop" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center_horizontal" android:text="Stop" android:textSize="25dp" android:textColor="#ffffffff"/> </LinearLayout> </RelativeLayout>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android四大組件之Service詳解
- Android8.0適配前臺(tái)定位服務(wù)service的示例代碼
- 淺談Android Service服務(wù)的高級(jí)技巧
- 說說在Android如何使用服務(wù)(Service)的方法
- Android通過AIDL在兩個(gè)APP之間Service通信
- Android基于AccessibilityService制作的釘釘自動(dòng)簽到程序代碼
- Android通過Service實(shí)現(xiàn)簡(jiǎn)單的音樂播放
- Android使用Service實(shí)現(xiàn)簡(jiǎn)單音樂播放實(shí)例
- 詳解Android中Service AIDL的使用
相關(guān)文章
android語音即時(shí)通訊之錄音、播放功能實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了android語音即時(shí)通訊之錄音、播放功能的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07Android實(shí)現(xiàn)調(diào)用攝像頭拍照與視頻功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)調(diào)用攝像頭拍照與視頻功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04使用ViewPager實(shí)現(xiàn)高仿launcher左右拖動(dòng)效果
今天用ViewPager這個(gè)類實(shí)現(xiàn)了同樣的左右拖動(dòng)效果,這樣代碼更少,但是效果是一樣的,ViewPager是實(shí)現(xiàn)左右兩個(gè)屏幕平滑地切換的一個(gè)類,它是Google提供的,有需要的朋友可以了解下2013-01-01基于Socket.IO實(shí)現(xiàn)Android聊天功能代碼示例
本篇文章主要介紹了基于Socket.IO實(shí)現(xiàn)Android聊天功能代碼示例,具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08Android 7.0開發(fā)獲取存儲(chǔ)設(shè)備信息的方法
這篇文章主要介紹了Android 7.0開發(fā)獲取存儲(chǔ)設(shè)備信息的方法,結(jié)合實(shí)例形式分析了Android7.0針對(duì)存儲(chǔ)設(shè)備信息的獲取、判斷操作方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-11-11基于Flutter實(shí)現(xiàn)圖片選擇和圖片上傳
Flutter?的圖片選擇插件很多,包括了官方的?image_picker,multi_image_picker(基于2.0出了?multi_image_picker2)等等。本文將利用這些插件實(shí)現(xiàn)圖片選擇和圖片上傳,需要的可以參考一下2022-03-03Android如何獲取系統(tǒng)通知的開啟狀態(tài)詳解
這篇文章主要給大家介紹了關(guān)于Android如何獲取系統(tǒng)通知開啟狀態(tài)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起看看吧啊。2017-08-08詳解Android數(shù)據(jù)存儲(chǔ)之Android 6.0運(yùn)行時(shí)權(quán)限下文件存儲(chǔ)的思考
本篇文章主要介紹了Android數(shù)據(jù)存儲(chǔ)之Android 6.0運(yùn)行時(shí)權(quán)限下文件存儲(chǔ)的思考,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。2016-12-12