Android

您所在的位置:网站首页 三星note9手机壁纸如何自动更换 Android

Android

2023-08-01 06:56| 来源: 网络整理| 查看: 265

先看下效果:

效果如上

使用界面:

划重点,使用service前别忘了给相应的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; @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来实现壁纸更换:

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); } }); } }

布局设计:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3