专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
Service本地服务通信的问题
2019-03-26 12:37
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
嵌入式Linux
7428
6
1689
本帖最后由 chenbingjy 于 2015-9-24 19:33 编辑
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
chenbingjy
1楼-- · 2019-03-26 19:26
在Manifest.xml文件中声明Service3,并配置<intent-filter.../>子标签,设置Action属性,代码如下:
<service android:name="Srvice3">
<intent-filter >
<action android:name="android.service"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</service>
在MainActivity中声明一个Intent对象用于标识目标Service,声明一个Service3.mIbind对象用于获取数据,声明ServiceConnection并实现其方法,
用于监听访问者与Service之间的连接情况,代码如下:
private Intent intent=new Intent();
private Service3.mBinder binder;
private ServiceConnection sConnection=new ServiceConnection(){
public void onServiceDisconnected(ComponentName name){
System.out.println("--ServiceDisconnected--");
}
public void onServiceConnected(ComponentName name,IBinder service){
System.out.println("--ServiceConnected--");
binder=(Service3.mBinder)service;
}
};
加载中...
chenbingjy
2楼-- · 2019-03-26 22:41
在MianActivity中,设置Intent所触发的Action字符串,声明3个Button控件并绑定监听,第一个用于启动Service,第二个用于停止Service,
第三个用于获取数据并使用Toast显示信息,代码如下:
setContentView(R.layout.activity_main);
String ccb;
intent.setAction("android.service");
ccb=this.getPackageName();
intent.setPackage(ccb);
Button button1=(Button)findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener(){
public void onClick(View v){
bindService(intent,sConnection,BIND_AUTO_CREATE);
}
});
Button button2=(Button)findViewById(R.id.button2);
button2.setOnClickListener(new OnClickListener(){
public void onClick(View v){
unbindService(sConnection);
}
});
Button button3=(Button)findViewById(R.id.button3);
button3.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Toast.makeText(MainActivity.this,
"Service的counter值为"+binder.getCounter(),
Toast.LENGTH_LONG).show();
}
});
加载中...
chenbingjy
3楼-- · 2019-03-27 02:45
可是,我运行时点击第一个按钮,出错,见附件。
请高手指教,怎么解决?谢谢!
加载中...
ljj3166
4楼-- · 2019-03-27 07:00
完全不懂,帮顶
有空也学学
是谷歌的官方环境么?
加载中...
chenbingjy
5楼-- · 2019-03-27 12:46
精彩回答 2 元偷偷看……
加载中...
574433742
6楼-- · 2019-03-27 16:49
精彩回答 2 元偷偷看……
加载中...
一周热门
更多
>
相关问题
相关文章
机器学习的强大:5种最佳的现实应用
0个评论
基于AM335X的物联网关解决方案
0个评论
如何编写一个工程文件夹下通用的Makefile
0个评论
设备树在Linux系统内核中的体现
0个评论
手把手创建一个小型模板Linux设备树
0个评论
Linux设备树专有名词及语法规则详解(下)
0个评论
Linux设备树专有名词及语法规则详解(上)
0个评论
什么是Linux的设备树
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
在Manifest.xml文件中声明Service3,并配置<intent-filter.../>子标签,设置Action属性,代码如下:
<service android:name="Srvice3">
<intent-filter >
<action android:name="android.service"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</service>
在MainActivity中声明一个Intent对象用于标识目标Service,声明一个Service3.mIbind对象用于获取数据,声明ServiceConnection并实现其方法,
用于监听访问者与Service之间的连接情况,代码如下:
private Intent intent=new Intent();
private Service3.mBinder binder;
private ServiceConnection sConnection=new ServiceConnection(){
public void onServiceDisconnected(ComponentName name){
System.out.println("--ServiceDisconnected--");
}
public void onServiceConnected(ComponentName name,IBinder service){
System.out.println("--ServiceConnected--");
binder=(Service3.mBinder)service;
}
};
第三个用于获取数据并使用Toast显示信息,代码如下:
setContentView(R.layout.activity_main);
String ccb;
intent.setAction("android.service");
ccb=this.getPackageName();
intent.setPackage(ccb);
Button button1=(Button)findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener(){
public void onClick(View v){
bindService(intent,sConnection,BIND_AUTO_CREATE);
}
});
Button button2=(Button)findViewById(R.id.button2);
button2.setOnClickListener(new OnClickListener(){
public void onClick(View v){
unbindService(sConnection);
}
});
Button button3=(Button)findViewById(R.id.button3);
button3.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Toast.makeText(MainActivity.this,
"Service的counter值为"+binder.getCounter(),
Toast.LENGTH_LONG).show();
}
});
有空也学学
是谷歌的官方环境么?
一周热门 更多>