在android工程中,我编写了一个回调函数。现在注入接口时,需要传递接口引用给另外一个进程。目前采取的方法是将该接口引用保存在application(commonData)中,但是从另外一个进程获取时,一直为空。后来才知是不同进程不能共享内存的问题,请Android高手指教如何解决。
// 进程1:注入回调接口
commonData.setCallback(new MVS_CallBack() {
// doing something
} // 进程2:获取接口引用
commonData.getMVSCallBack(); // CommonData保存接口引用
public class CommonData extends Application {
public static MVS_CallBack callback = null; // 设置回调接口
public void setMVSCallBack(MVS_CallBack callback) {
this.callback = callback;
} // 获取回调接口
public MVS_CallBack getMVSCallBack() {
return this.callback;
}
}
// 进程1:注入回调接口
commonData.setCallback(new MVS_CallBack() {
// doing something
} // 进程2:获取接口引用
commonData.getMVSCallBack(); // CommonData保存接口引用
public class CommonData extends Application {
public static MVS_CallBack callback = null; // 设置回调接口
public void setMVSCallBack(MVS_CallBack callback) {
this.callback = callback;
} // 获取回调接口
public MVS_CallBack getMVSCallBack() {
return this.callback;
}
}
解决方案 »
- android.permission.RECEIVE_SMS与android.provider.Telephony.SMS_RECEIVED区别与联系
- 怎么在android上运行自己的地图 非google
- 一个头疼的问题?内容如下:
- 添加admob广告,sdk有问题!!
- webview使用问题,谢谢大家
- Android下如何提高写入Properties文件的效率
- CTS测试中遇到的问题
- android使用NDK编译ffmpeg或者有最新的ffmpeg 2.0打包的库
- 调用相机相册,回调data为null
- expandablelistview 子项横向显示
- 记第一次工作经历
- android真机 请求本机tomcat服务器数据
android为了进程共享而特别设计的接口,虽然实现起来比序列化要复杂,但开销要小得多。
这东西可以通过Message传递。这东西的实质就是传递一个副本。虽然这东西一般用来传递数据,但回调函数也是没问题的。但是估计直接穿匿名类有点问题,你得先弄个有名有姓的类,然后继承Parceable接口就能安全传递了。
实现这个接口的方法网上很多,你百度下就行。