安卓通过绑定开启服务 来调用服务里的方法
生活随笔
收集整理的这篇文章主要介绍了
安卓通过绑定开启服务 来调用服务里的方法
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
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
- 下一篇: Canvas 波形图