android service传递并获取参数 之 transact
来源:互联网 发布:淘宝售后怎么赚钱 编辑:程序博客网 时间:2024/06/04 19:19
有问题请加:Q群: 241359063 共同走向创业学习之旅。
原创:kylin_zeng http://blog.chinaunix.net/uid/23795897.html在此感谢mars 老师的帮助。转载请注明原创出处,尊重他人的劳动成果。
1、在AndroidManifest.xml: <service android:name="com.example.transact.SecondService"></service>
2、建立两个按钮,绑定和发送:
4、然后就可以传输到SecondService 里面了
编译为通过。
Transact.rar
原创:kylin_zeng http://blog.chinaunix.net/uid/23795897.html在此感谢mars 老师的帮助。转载请注明原创出处,尊重他人的劳动成果。
1、在AndroidManifest.xml: <service android:name="com.example.transact.SecondService"></service>
2、建立两个按钮,绑定和发送:
点击(此处)折叠或打开
- package com.example.transact;
- import android.os.Binder;
- import android.os.Bundle;
- import android.os.IBinder;
- import android.os.Parcel;
- import android.os.RemoteException;
- import android.app.Activity;
- import android.content.ComponentName;
- import android.content.Intent;
- import android.content.ServiceConnection;
- import android.view.Menu;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- public class MainActivity extends Activity {
-
- private Button button1;
- private Button button2;
-
- private Binder binder;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
-
- button1=(Button)findViewById(R.id.button1);
- button2=(Button)findViewById(R.id.button2);
-
- button1.setOnClickListener(new OnClickListener() {
-
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- Intent intent=new Intent();
- intent.setClass(MainActivity.this, SecondService.class);
- bindService(intent, conn, BIND_AUTO_CREATE); //绑定。
- }
- });
-
-
-
- button2.setOnClickListener(new OnClickListener() {
-
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- Parcel data =Parcel.obtain();
- Parcel reply=Parcel.obtain();
-
- data.writeString("from activity : data");
-
-
- try {
- ////这些参数就传递到secondservice里面去了,但如果secondservice onTransact 没有执行完,就在这里阻塞。
- binder.transact(0, data, reply, 0);
-
- String s=reply.readString();
- System.out.println("reply from SecondService--->"+ s);
-
- } catch (RemoteException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- });
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.activity_main, menu);
- return true;
- }
-
- ServiceConnection conn = new ServiceConnection() {
-
- @Override
- public void onServiceDisconnected(ComponentName name) {
- // TODO Auto-generated method stub
-
-
- }
-
- @Override
- public void onServiceConnected(ComponentName name, IBinder service) {
- // TODO Auto-generated method stub
- MainActivity.this.binder=(Binder)binder;
- }
- };
-
- }
4、然后就可以传输到SecondService 里面了
点击(此处)折叠或打开
- package com.example.transact;
- import android.app.Service;
- import android.content.Intent;
- import android.os.Binder;
- import android.os.IBinder;
- import android.os.Parcel;
- import android.os.RemoteException;
- public class SecondService extends Service {
- @Override
- public IBinder onBind(Intent arg0) {
- // TODO Auto-generated method stub
- return new MyBinder();
- }
- class MyBinder extends Binder{
- @Override
- protected boolean onTransact(int code, Parcel data, Parcel reply,
- int flags) throws RemoteException {
- // TODO Auto-generated method stub
- System.out.println("code--->"+ code);
- String s=data.readString();
- System.out.println("data--->"+ data);
-
- reply.writeString("from service: relay");
-
- return super.onTransact(code, data, reply, flags);
- }
-
-
- }
-
- }
编译为通过。
Transact.rar
0
上一篇:git 命令
下一篇: linux文件系统启动流程
相关热门文章
- 仿迅雷之Anroid版开始
- iOS培训成了精英程序员回炉再...
- CentOS安装crontab及使用方法(...
- UBOOT之DDR2内存移植相关修改...
- cartable longchamp pas cher ...
- Android之开发环境搭建
- Android自定义View的实现...
- AndroidManifest.xml配置文件...
- Android源码调试方法详解...
- 不用vs和cygwin!Eclipse+cdt...
- 请问Linux默认shell的是什么 ...
- 谁能够帮我解决LINUX 2.6 10...
- 现在的博客积分不会更新了吗?...
- shell怎么读取网页内容...
- ssh等待连接的超时问题...
给主人留下些什么吧!~~
评论热议
0 0
- android service传递并获取参数 之 transact
- android post方式传递参数并获取返回数据代码
- Android Studio开发基础之启动Service,并通过从Activity向Service传递数据
- Silverlight之Frame传递多个参数并获取完整参数
- Android -- 启动Service并传递数据
- 在service里发送notification并传递参数
- jquery 实现页面参数传递,并获取相关请求参数
- Android 实现页面跳转并传递参数
- Android:Activity之间传递参数并跳转
- android之JNI参数传递
- android之JNI参数传递
- android之JNI参数传递
- Android 入门之参数传递
- Android学习之参数传递
- android之JNI参数传递
- Android--Service之AIDL传递复杂对象
- 使用shell写cgi,并获取html传递的参数
- android am 启动activity service or broadcast及参数传递
- 电源管理芯片之 Regulator用法。
- SecureCRT home end 键更改
- java 链接服务器上的 mongodb 出现 connect time out 问题
- Finereport常见的数据集报错错误代码和解释
- git 命令
- android service传递并获取参数 之 transact
- 软件安装原理
- linux文件系统启动流程
- C/C++面试、笔试题
- animation 控件之代码控制
- Ubuntu文件系统层 系统启动过程详解
- 系统需求与功能需求有什么区别
- animation 之xml控制
- 1st_uC/OS-II Basic Programmers’Guide
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
猩猩动物模拟器
超任模拟器
飞龙模拟器中文版
手游模拟器哪个好
模拟器哪个好用
模拟器破解版
软件模拟器
wine模拟器
mame模拟器
三国模拟器
蓝叠安卓模拟器
win8模拟器
整容模拟器
n64模拟器
virtuanes模拟器
生活模拟器
深渊模拟器
gameboy模拟器
ke模拟器
阵容模拟器
模拟器辅助
飞雪模拟器
樱花校园模拟器英文版
修真模拟器无限仙玉
樱花校园模拟器结婚
樱花学校模拟器中文版
樱花校园模拟器怎么结婚
手游模拟器排行榜揭晓
ps模拟器安卓版中文
电脑安卓模拟器哪个好
安卓java模拟器下载
windows模拟器汉化安卓版
sis模拟器安卓版apk
什么安卓模拟器好用
天天模拟器手机版下载
电脑手游模拟器哪个好
ppsspp模拟器安卓版
ppsspp模拟器中文版
安卓模拟器手机版下载
安卓模拟器电脑版哪个好用
手机模拟器安卓版哪个好