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>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android四大組件之Service詳解
- Android8.0適配前臺(tái)定位服務(wù)service的示例代碼
- 淺談Android Service服務(wù)的高級技巧
- 說說在Android如何使用服務(wù)(Service)的方法
- Android通過AIDL在兩個(gè)APP之間Service通信
- Android基于AccessibilityService制作的釘釘自動(dòng)簽到程序代碼
- Android通過Service實(shí)現(xiàn)簡單的音樂播放
- Android使用Service實(shí)現(xiàn)簡單音樂播放實(shí)例
- 詳解Android中Service AIDL的使用
相關(guān)文章
Android 使用 SharedPreferences 保存少量數(shù)據(jù)的實(shí)現(xiàn)代碼
這篇文章主要介紹了Android 使用 SharedPreferences 保存少量數(shù)據(jù)的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
仿iPhone風(fēng)格對話框(附件包含例子/jar包/jar包源碼)
這個(gè)對框完全繼承、仿照AlertDialog,只是實(shí)現(xiàn)了自定義效果;另外,沒有實(shí)現(xiàn)setIcon,因?yàn)閕phone中的對話框多數(shù)都沒有圖標(biāo);附件包含例子、jar包、jar包源碼2013-01-01
解決AndroidStudio無法運(yùn)行java中的mian方法問題
這篇文章主要介紹了解決AndroidStudio無法運(yùn)行java中的mian方法問題,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10
利用HorizontalScrollView實(shí)現(xiàn)滑動(dòng)頁面時(shí)的縮放效果
這篇文章主要為大家詳細(xì)介紹了利用HorizontalScrollView實(shí)現(xiàn)滑動(dòng)頁面時(shí)的縮放效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11
Android應(yīng)用開發(fā)中自定義ViewGroup視圖容器的教程
這篇文章主要介紹了Android應(yīng)用開發(fā)中自定義ViewGroup視圖容器的教程,重點(diǎn)在于View之間的參數(shù)傳遞,文中還講到了使用ViewDragHelper自定義ViewGroup的方法,需要的朋友可以參考下2016-04-04
Flutter仿網(wǎng)易實(shí)現(xiàn)廣告卡片3D翻轉(zhuǎn)效果
在逛網(wǎng)易新聞時(shí),發(fā)現(xiàn)列表中的廣告在你滑動(dòng)的時(shí)候會(huì)有一個(gè)3D旋轉(zhuǎn)的交互引你的注意。本文將利用Flutter實(shí)現(xiàn)這一效果,感興趣的可以了解一下2022-04-04
Flutter加載圖片流程MultiFrameImageStreamCompleter解析
這篇文章主要為大家介紹了Flutter加載圖片流程MultiFrameImageStreamCompleter示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
android使用include調(diào)用內(nèi)部組件的方法
這篇文章主要介紹了android使用include調(diào)用內(nèi)部組件的方法,涉及Android組件調(diào)用的相關(guān)技巧,需要的朋友可以參考下2015-05-05
android中圖片的三級緩存cache策略(內(nèi)存/文件/網(wǎng)絡(luò))
實(shí)現(xiàn)圖片緩存也不難,需要有相應(yīng)的cache策略。這里我采用 內(nèi)存-文件-網(wǎng)絡(luò) 三層cache機(jī)制,其中內(nèi)存緩存包括強(qiáng)引用緩存和軟引用緩存(SoftReference),其實(shí)網(wǎng)絡(luò)不算cache,這里姑且也把它劃到緩存的層次結(jié)構(gòu)中2013-06-06

