Android之Service
来源:互联网 发布:linux安全配置基线 编辑:程序博客网 时间:2024/05/01 06:26
写一个Service类,只要继承Service类,实现生命周期中的方法就可以了。主要的方法有onBind、onCreate、onStart、onDestroy
onBind是必须实现的、onCreate是创建,系统调用的、onStart是startService时调用的,onDestroy则Service不再使用
startService启动Service
bindService绑定已有的Service
还可以通过RPC(远程进程调用)机制来实现不同进程间的Service的使用
配置AndroidManifest.xml中的配置<service>元素方可使用
启动一个Service使用Context.startService(Intent intent) 方法,也是通过传递Intent来实现的。
Context.stopService停止Service
—————————————————————————————————————————————————————————————————————————————
在AndroidManifest.xml中配置如下,出现: Exported service does not require permission警告
<service android:name="SendService">
<intent-filter>
<action android:name="com.oem.OEMSendService.SENDMAIL" />
</intent-filter>
</service>
原因:这是一个可以被外部访问的service,需要使用权限来限制外部访问
解决方法:
1.添加
android:exported="false
"
这种方法是限制外部访问,自然不需要权限了
2.声明权限
先在<manifest>标签下加入
<permission android:protectionLevel="normal" android:name="oem.permission.SENDMAIL"></permission>
然后在<service>标签下
android:permission="oem.permission.SENDMAIL"
—————————————————————————————————————————————————————————————————————————————
Android采用一种轻量级的实现方式RPC远程进程调用,完成进程间通信,并且Android通过接口定义语言AIDL来生成两个进程之间互相访问的代码。客户端和被调用实现之间是通过代理模式实现的,代理类和被代理类实现同一接口即Ibinder接口
aidl文件,拓展名是aidl
- android Service 之Bound Service
- Android Service 之Bound Service
- android Service 之Bound Service
- android Service 之Bound Service
- Android之Service相关
- Android基本之Service
- Android 之 service
- Android学习之Service
- Android Service 之 AIDL
- android之Service
- android组件之Service
- Android学习之Service
- Android之service
- Android之Service
- Android基础之Service
- Android之Service&BroadCastReceiver
- 浅谈android 之 service
- android之Service
- 回溯算法——收费公路重建问题python实现
- Android中文API(126) —— Message
- Kafka与FlumeNG整合
- mac下svn常用基本操作
- 矩形的个数
- Android之Service
- 防辐射服能用多久
- 可编辑的select框实验
- UVa 10167 - Birthday Cake
- IOS设计工具
- Android基础开发环境搭建(一)
- 测试
- const在函数前与函数后的区别
- cs101,数独问题