1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Android-Service自动更换手机壁纸

Android-Service自动更换手机壁纸

时间:2021-10-01 15:34:18

相关推荐

Android-Service自动更换手机壁纸

先看下效果:

使用界面:

划重点,使用service前别忘了给相应的service添加服务

<service android:name=".ChangeService"></service>

具体实现:

首先定义ChangeService类,继承Service访问系统实现壁纸切换

public class ChangeService extends Service {int[] wallpapers = new int[]{R.drawable.a2, R.drawable.a3, R.drawable.a4};WallpaperManager wallpaperManager;int current = 0;@Overridepublic void onCreate() {super.onCreate();wallpaperManager = WallpaperManager.getInstance(this);}@Overridepublic 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@Overridepublic IBinder onBind(Intent intent) {return null;}}

这里我们用闹钟访问pendingIntent来实现壁纸更换:

public class MainActivity extends Activity {private Button mStart;private Button mStop;@Overrideprotected 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() {@Overridepublic 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"?><RelativeLayoutxmlns:android="/apk/res/android"xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:orientation="horizontal"><Buttonandroid: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"/><Buttonandroid: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>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。