使用binder
来源:互联网 发布:静态数据采集仪 编辑:程序博客网 时间:2024/06/05 07:01
前面我们已经写好了bindercase的各种实现了,把它编译成.so就ok啦。
下面把这个case 服务给跑起来
A进程
main_test.cpp
#include <sys/types.h>
#include <unistd.h>
#include <cutils/log.h>
#include <binder/IServiceManager.h>
#include <binder/ProcessState.h>
#include <binder/IPCThreadState.h>
#include "../libTest/ITest.h"
using namespace android;
int main(int argc, char** argv)
{
sp<ProcessState> proc(ProcessState::self());
sp<IServiceManager> sm = defaultServiceManager();
LOGI("ServiceManager: %p", sm.get());
TestService::instantiate(); //这里加入serviceManager中
ProcessState::self()->startThreadPool();
IPCThreadState::self()->joinThreadPool();
return 0;
}
就这么简单, TestService::instantiate(); 这个instantiate()方法在前面有实现可以看看,其他的代码都是模型,具体含义可以去查查。
接下来就是使用了
B进程
client_test.cpp
#include <sys/types.h>
#include <unistd.h>
#include <cutils/log.h>
#include <binder/IServiceManager.h>
#include <binder/ProcessState.h>
#include <binder/IPCThreadState.h>
#include "../libTest/ITest.h"
using namespace android;
int main()
{
sp<IBinder> binder;
static sp<ITest> sTestManager = NULL;
// if(sTestManager != NULL)
// return 0;
sp<IServiceManager> sm = defaultServiceManager();
do {
binder = sm->getService(String16("test.service"));
if (binder == 0) {
printf("TestService not published, waiting...");
usleep(500000); // 0.5 s
}
} while(binder == 0);
printf("TestService get succ...");
if(sTestManager == NULL){
sTestManager = interface_cast<ITest>(binder);
}
sTestManager->getTest();
sTestManager->setTest();
return 0;
}
这个也很简单,获取bp对象,使用pb对象的方法,bp会和bn交互。
ok case就写到这里了。
- 使用binder
- Binder 使用
- Android Binder机制(使用)
- Binder使用示例
- 如何使用BINDER
- android 使用Binder通信
- Binder使用示例
- Binder Service的使用
- Binder使用示例
- Binder的实际使用
- 使用C++自定义Binder
- 如何使用Binder
- Binder的使用
- 使用 Binder IPC
- Binder服务使用过程
- 如何使用Binder实现分析
- Binder工作原理与使用
- [Android]Binder池的使用
- ora-00257 archiver error
- 禁止分录排序
- 网络常见攻击方法分类
- 有序数组的组合问题
- [linux] Linux的/proc目录
- 使用binder
- 关于SQLSERVER 事物的运用(3)嵌套事物以及嵌套存储过程的异常的处理
- Android锁屏状态下弹出activity
- AndEngine_example1.1 画线
- LATEX 学习1
- sql语句优化与sql语句原理
- 关于 Java 中 finally 语句块的深度辨析
- 一位软件工程师的6年总结
- 王爽汇编第5章部分答案