Android-Service實現(xiàn)手機壁紙自動更換
本文實例為大家分享了Android Service實現(xiàn)自動更換手機壁紙的具體代碼,供大家參考,具體內(nèi)容如下
先看下效果:

使用界面:

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

