Android-Service實現(xiàn)手機(jī)壁紙自動更換
本文實例為大家分享了Android Service實現(xiàn)自動更換手機(jī)壁紙的具體代碼,供大家參考,具體內(nèi)容如下
先看下效果:
使用界面:
劃重點(diǎn),使用service前別忘了給相應(yīng)的service添加服務(wù)
<service android:name=".ChangeService"></service>
具體實現(xiàn):
首先定義ChangeService類,繼承Service訪問系統(tǒng)實現(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來實現(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, "壁紙定時更換啟動成功啦", 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è)計:
<?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>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
android語音即時通訊之錄音、播放功能實現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了android語音即時通訊之錄音、播放功能的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07Android實現(xiàn)調(diào)用攝像頭拍照與視頻功能
這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)調(diào)用攝像頭拍照與視頻功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04使用ViewPager實現(xiàn)高仿launcher左右拖動效果
今天用ViewPager這個類實現(xiàn)了同樣的左右拖動效果,這樣代碼更少,但是效果是一樣的,ViewPager是實現(xiàn)左右兩個屏幕平滑地切換的一個類,它是Google提供的,有需要的朋友可以了解下2013-01-01基于Socket.IO實現(xiàn)Android聊天功能代碼示例
本篇文章主要介紹了基于Socket.IO實現(xiàn)Android聊天功能代碼示例,具有一定的參考價值,有興趣的可以了解一下2017-08-08Android 7.0開發(fā)獲取存儲設(shè)備信息的方法
這篇文章主要介紹了Android 7.0開發(fā)獲取存儲設(shè)備信息的方法,結(jié)合實例形式分析了Android7.0針對存儲設(shè)備信息的獲取、判斷操作方法與相關(guān)注意事項,需要的朋友可以參考下2017-11-11Android如何獲取系統(tǒng)通知的開啟狀態(tài)詳解
這篇文章主要給大家介紹了關(guān)于Android如何獲取系統(tǒng)通知開啟狀態(tài)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編來一起看看吧啊。2017-08-08詳解Android數(shù)據(jù)存儲之Android 6.0運(yùn)行時權(quán)限下文件存儲的思考
本篇文章主要介紹了Android數(shù)據(jù)存儲之Android 6.0運(yùn)行時權(quán)限下文件存儲的思考,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。2016-12-12