设为首页 加入收藏

TOP

Android中的跨进程回调
2014-11-24 08:07:55 来源: 作者: 【 】 浏览:0
Tags:Android 进程

1.定义aidl


ITest.aidl


package com.example.chirpdemo;
import com.example.chirpdemo.ITestListener;


interface ITest {
int getValue();
void setValue(int value);
void listen(ITestListener listener);
}


ITestListener.aidl


package com.example.chirpdemo;


interface ITestListener {
void onFinished(int result);
}


2.Service定义如下:


package com.example.chirpdemo;


import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.os.RemoteException;
import android.util.Log;


public class MyService extends Service {
final private static String TAG = "MyService";


public class ServiceImpl extends ITest.Stub {
private int mValue;
private ITestListener mListener;


public ServiceImpl() {
mValue = 0;
}


@Override
public int getValue() throws RemoteException {
return mValue;
}


@Override
public void setValue(int value) throws RemoteException {
mValue = value;


if (null != mListener) {
mListener.onFinished(-1);
}
}


@Override
public void listen(ITestListener listener) throws RemoteException {
mListener = listener;
}
}


@Override
public void onCreate() {
Log.d(TAG, "onCreate");
super.onCreate();
}


@Override
public void onDestroy() {
Log.d(TAG, "onDestroy");
super.onDestroy();
}


@Override
public void onStart(Intent intent, int startId) {
Log.d(TAG, "onStart");
super.onStart(intent, startId);
}


@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.d(TAG, "onStartCommand");
return super.onStartCommand(intent, flags, startId);
}


@Override
public boolean onUnbind(Intent intent) {
Log.d(TAG, "onUnbind");
return super.onUnbind(intent);
}


@Override
public void onRebind(Intent intent) {
Log.d(TAG, "onRebind");
super.onRebind(intent);
}


@Override
public IBinder onBind(Intent arg0) {
return new ServiceImpl();
}


}











】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android Activity编程之视频播放.. 下一篇Android学习之Http使用Post方式进..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Bash 脚本教程——Li (2025-12-26 07:53:35)
·实战篇!Linux shell (2025-12-26 07:53:32)
·整理了250个shell脚 (2025-12-26 07:53:29)
·HyperText Transfer (2025-12-26 07:20:48)
·半小时搞懂 HTTP、HT (2025-12-26 07:20:42)