基本信息
源码名称:android 动态切换壁纸实例 利用service机制实现 附完整源码 带动态截图
源码大小:0.59M
文件格式:.zip
开发语言:Java
更新时间:2013-04-12
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
通过点击 startService实现 android手机动态壁纸功能
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <Button android:id="@ id/startService" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="startService" android:onClick="myStartService" /> <Button android:id="@ id/stopService" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="stopService" android:onClick="myStopService" /> <Button android:id="@ id/bindService" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="bindService" android:onClick="myBindService" /> <Button android:id="@ id/unBindService" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="unBindService" android:onClick="myUnBindService" /> </LinearLayout>
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"); } }