安卓通过绑定开启服务 来调用服务里的方法
生活随笔
收集整理的這篇文章主要介紹了
安卓通过绑定开启服务 来调用服务里的方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
創建服務
package com.example.studyReturn;import android.app.Service; import android.content.Intent; import android.os.Binder; import android.os.IBinder; import android.widget.Toast;public class TestService extends Service {@Overridepublic IBinder onBind(Intent intent) {System.out.print("服務onbind");//通過綁定服務過來的返回給onServiceConnected方法return new MyBinder();}private class MyBinder extends Binder implements IServer{@Overridepublic void callSer(String name) {//這里調用服務里面的方法serMethod(name);}public void otherMehod(){//其他方法;如果需要暴漏給外面就去接口去加方法}}@Overridepublic void onCreate() {System.out.println("服務被開啟了");super.onCreate();}@Overridepublic void onDestroy() {System.out.println("服務銷毀了");super.onDestroy();}public void serMethod(String name){Toast.makeText(getApplicationContext(), "服務里面的方法:"+name, Toast.LENGTH_SHORT).show();;} }##配置清單 <service android:name=".TestService"></service> ##抽取接口
package com.example.studyReturn;public interface IServer {public void callSer(String name); //服務中需要暴漏的方法放在接口中 }綁定服務
public void testBindService(View view){Intent intent = new Intent(this, TestService.class);MyConn myconn = new MyConn();bindService(intent, myconn, BIND_AUTO_CREATE); //服務如果不存在則創建}private class MyConn implements ServiceConnection{public void onServiceConnected(ComponentName name, IBinder ibinder) {//服務中onBind方法返回is = (IServer) ibinder;}@Overridepublic void onServiceDisconnected(ComponentName arg0) {}}public void callSerService(View view){//這里就可以通過is調用服務里面的方法了is.callSer("hahahah");}轉載于:https://my.oschina.net/u/729139/blog/474427
總結
以上是生活随笔為你收集整理的安卓通过绑定开启服务 来调用服务里的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】Android兼容性测试CTS V
- 下一篇: Mysql 的源码包安装