【实例简介】通过点击 startService实现 android手机动态壁纸功能

【实例截图】

【核心代码】

main.xml

android:orientation="vertical" android:layout_width="fill_parent"

android:layout_height="fill_parent">

android:layout_height="wrap_content" android:text="@string/hello" />

android:layout_height="wrap_content" android:text="startService"

android:onClick="myStartService" />

android:layout_height="wrap_content" android:text="stopService"

android:onClick="myStopService" />

android:layout_height="wrap_content" android:text="bindService"

android:onClick="myBindService" />

android:layout_height="wrap_content" android:text="unBindService"

android:onClick="myUnBindService" />

MainActivity.java

package com.service;

import android.app.Activity;

import android.content.ComponentName;

import android.content.Context;

import android.content.Intent;

import android.content.ServiceConnection;

import android.os.Bundle;

import android.os.IBinder;

import android.view.View;

public class MainActivity extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

public void myStartService(View view) {

Intent intent = new Intent(this, MyService.class);

this.startService(intent);

}

public void myStopService(View view) {

Intent intent = new Intent(this, MyService.class);

this.stopService(intent);

}

ServiceConnection connection = new ServiceConnection() {

public void onServiceConnected(ComponentName name, IBinder service) {

System.out.println("Connected");

System.out.println(name.getClassName());

System.out.println(name.getPackageName());

MyServiceOther.MyBinder binder = (MyServiceOther.MyBinder) service;

MyServiceOther myS = binder.getService();

System.out.println(myS.i);

}

public void onServiceDisconnected(ComponentName name) {

System.out.println("Disconnected");

}

};

public void myBindService(View view) {

Intent intent = new Intent(this, MyServiceOther.class);

this.bindService(intent, connection, Context.BIND_AUTO_CREATE);

}

public void myUnBindService(View view) {

this.unbindService(connection);

}

}

MyService.java

package com.service;

import android.app.Service;

import android.content.Intent;

import android.os.IBinder;

public class MyService extends Service {

boolean flag = true;

MyThread myThread;

int[] ins = new int[] { R.drawable.item1, R.drawable.item2,

R.drawable.item3 };

int i = 0;

class MyThread extends Thread {

public void run() {

while (flag) {

i ;

try {

Thread.sleep(3000);

MyService.this.setWallpaper(MyService.this.getResources()

.openRawResource(ins[i % 3]));

} catch (Exception ex) {

ex.printStackTrace();

}

}

}

}

public IBinder onBind(Intent intent) {

return null;

}

public void onCreate() {

super.onCreate();

System.out.println("onCreate");

myThread = new MyThread();

myThread.start();

}

public void onStart(Intent intent, int startId) {

super.onStart(intent, startId);

System.out.println("onStart");

}

public void onDestroy() {

super.onDestroy();

System.out.println("onDestroy");

flag = false;

}

}

MyServiceOther.java

package com.service;

import android.app.Service;

import android.content.Intent;

import android.os.Binder;

import android.os.IBinder;

public class MyServiceOther extends Service {

int i = 5;

class MyBinder extends Binder {

MyServiceOther getService() {

return MyServiceOther.this;

}

}

public IBinder onBind(Intent intent) {

System.out.println("onBind");

return new MyBinder();

}

public boolean onUnbind(Intent intent) {

System.out.println("onUnbind");

return super.onUnbind(intent);

}

public void onCreate() {

super.onCreate();

System.out.println("onCreate");

}

public void onDestroy() {

super.onDestroy();

System.out.println("onDestroy");

}

}

java 制作动态手机壁纸_android 动态切换壁纸实例 利用service机制实现 附完整源码 带动态截图...相关推荐

  1. JavaScript实现切换数字的符号switchSign算法(附完整源码)

    JavaScript实现切换数字的符号switchSign算法(附完整源码) switchSign.js完整源代码 switchSign.js完整源代码 /*** Switch the sign of ...

  2. Java:实现集合A、B的交集、并集以及余集算法(附完整源码)

    Java:实现集合A.B的交集.并集以及余集算法 import java.util.Scanner; import java.util.TreeSet; public class Main {publ ...

  3. JavaScript实现唯一路径问题的动态编程方法的算法(附完整源码)

    JavaScript实现唯一路径问题的动态编程方法的算法(附完整源码) dpUniquePaths.js完整源代码 dpUniquePaths.test.js完整源代码 dpUniquePaths.j ...

  4. JavaScript实现截留雨水问题的动态编程方法算法(附完整源码)

    JavaScript实现截留雨水问题的动态编程方法算法(附完整源码) dpRainTerraces.js完整源代码 dpRainTerraces.tset.js完整源代码 dpRainTerraces ...

  5. JavaScript实现跳跃游戏的动态编程自上而下的方法算法(附完整源码)

    JavaScript实现跳跃游戏的动态编程自上而下的方法算法(附完整源码) dpTopDownJumpGame.js完整源代码 dpTopDownJumpGame.test.js完整源代码 dpTop ...

  6. JavaScript实现跳跃游戏的动态编程自下而上的方法的算法(附完整源码)

    JavaScript实现跳跃游戏的动态编程自下而上的方法的算法(附完整源码) dpBottomUpJumpGame.js完整源代码 dpBottomUpJumpGame.test.js完整源代码 dp ...

  7. 编程语言用 Java 开发一个打飞机小游戏(附完整源码)

    编程语言用 Java 开发一个打飞机小游戏(附完整源码) 上图 写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习.java确实不适合写桌面应用,这里只是通过 ...

  8. 视频教程-物联网之java实现(springboot + netty + 心跳,附完整源码)-Java

    物联网之java实现(springboot + netty + 心跳,附完整源码) 10年的软件行业从业经验,熟悉java开发.java 架构.微服务.自动化高级运维.压力测试等. 林忠明 ¥200. ...

  9. C++Dynamic Array动态数组(附完整源码)

    Dynamic Array动态数组 Dynamic Array动态数组算法的完整源码(定义,实现,main函数测试) Dynamic Array动态数组算法的完整源码(定义,实现,main函数测试) ...

最新文章

  1. javascript_JavaScript疲劳疲劳
  2. 一步步带你做vue后台管理框架(三)——登录功能
  3. Linux怎么确定信号来源,Linux信号来源和捕获处理以及signal函数简介
  4. python从入门到大神---4、python3文件操作最最最最简单实例
  5. axure删除的页面怎么恢复_微信删除好友怎么找回?快速恢复,真的不难
  6. [论文阅读] Maintaining Discrimination and Fairness in Class Incremental Learning
  7. Matlab中使用varargin来实现参数可变的函数
  8. PHP之Smarty模板学习
  9. 云上直播性能优化及测试方案详解
  10. cypress自动化--运行测试用例报告输出
  11. c语言程序心得体会感想,c语言编程学习心得体会3篇
  12. 飞行器制导与控制及其Matlab仿真
  13. 微信小程序蓝牙打印(中文乱码已解决)-分包发送(安卓和苹果手机均兼容)
  14. 向量的数量函数的导数
  15. 深信服技术认证之使用spark进行数据分析示例之拆分字段
  16. 【ST表】Zoning Houses
  17. opencl 核函数创建存储器对象以实现向量
  18. win10计算机窗口览,Win10窗口预览管理工具
  19. java 压缩加密_Java实现自动压缩文件并加密的方法示例
  20. 无人机云台电机用的是哪种?

热门文章

  1. POJ1321(深搜)
  2. 如何优雅的使用fbx sdk
  3. 计算机开放电子书归档 2018
  4. 程序员训练机器学习 SVM算法分享
  5. 记录一个美丽的小县城
  6. LeetCode刷题(27)
  7. c++新增加的一个概念称之为_新概念四册中的这个句子是对的吗?
  8. 软件测试英语笔试,软件测试英文面试笔试题
  9. 如何在Vue中使用Font Awesome?
  10. Spring Boot整合H2内存数据库配置及常见问题处理