提交 2d5a00cc 编写于 作者: 黄师伟

modify service doc for FA model

Signed-off-by: N黄师伟 <huangshiwei4@huawei.com>
上级 b7d6f7a3
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
}, },
onConnect(want) { onConnect(want) {
console.log('ServiceAbility OnConnect'); console.log('ServiceAbility OnConnect');
return null; return new FirstServiceAbilityStub('test');
}, },
onDisconnect(want) { onDisconnect(want) {
console.log('ServiceAbility OnDisConnect'); console.log('ServiceAbility OnDisConnect');
...@@ -139,41 +139,36 @@ let promise = featureAbility.startAbility( ...@@ -139,41 +139,36 @@ let promise = featureAbility.startAbility(
```javascript ```javascript
import prompt from '@system.prompt' import prompt from '@system.prompt'
let mRemote; var option = {
function onConnectCallback(element, remote){ onConnect: function onConnectCallback(element, proxy) {
console.log('onConnectLocalService onConnectDone element: ' + element); console.log(`onConnectLocalService onConnectDone`)
console.log('onConnectLocalService onConnectDone remote: ' + remote); if (proxy === null) {
mRemote = remote;
if (mRemote == null) {
prompt.showToast({ prompt.showToast({
message: "onConnectLocalService not connected yet" message: "Connect service failed"
}); })
return; return
} }
let option = new rpc.MessageOption(); let data = rpc.MessageParcel.create()
let data = new rpc.MessageParcel(); let reply = rpc.MessageParcel.create()
let reply = new rpc.MessageParcel(); let option = new rpc.MessageOption()
data.writeInt(1); data.writeInterfaceToken("connect.test.token")
data.writeInt(99); proxy.sendRequest(0, data, reply, option)
mRemote.sendRequest(1, data, reply, option).then((result) => {
console.log('sendRequest success');
let msg = reply.readInt();
prompt.showToast({ prompt.showToast({
message: "onConnectLocalService connect result: " + msg, message: "Connect service success"
duration: 3000 })
}); },
}).catch((e) => { onDisconnect: function onDisconnectCallback(element) {
console.log('sendRequest error:' + e); console.log(`onConnectLocalService onDisconnectDone element:${element}`)
}); prompt.showToast({
message: "Disconnect service success"
} })
},
function onDisconnectCallback(element){ onFailed: function onFailedCallback(code) {
console.log('ConnectAbility onDisconnect Callback') console.log(`onConnectLocalService onFailed errCode:${code}`)
prompt.showToast({
message: "Connect local service onFailed"
})
} }
function onFailedCallback(code){
console.log('ConnectAbility onFailed Callback')
} }
``` ```
...@@ -201,45 +196,28 @@ let promise = featureAbility.startAbility( ...@@ -201,45 +196,28 @@ let promise = featureAbility.startAbility(
```javascript ```javascript
import rpc from "@ohos.rpc"; import rpc from "@ohos.rpc";
let mMyStub; class FirstServiceAbilityStub extends rpc.RemoteObject {
export default { constructor(des: any) {
onStart() {
class MyStub extends rpc.RemoteObject{
constructor(des) {
if (typeof des === 'string') { if (typeof des === 'string') {
super(des); super(des)
} else {
return
} }
return null;
} }
onRemoteRequest(code, data, reply, option) {
console.log("ServiceAbility onRemoteRequest called"); onRemoteRequest(code: number, data: any, reply: any, option: any) {
console.log(printLog + ` onRemoteRequest called`)
if (code === 1) { if (code === 1) {
let op1 = data.readInt(); let string = data.readString()
let op2 = data.readInt(); console.log(printLog + ` string=${string}`)
console.log("op1 = " + op1 + ", op2 = " + op2); let result = Array.from(string).sort().join('')
reply.writeInt(op1 + op2); console.log(printLog + ` result=${result}`)
reply.writeString(result)
} else { } else {
console.log("ServiceAbility unknown request code"); console.log(printLog + ` unknown request code`)
} }
return true; return true;
} }
}
mMyStub = new MyStub("ServiceAbility-test");
},
onCommand(want, startId) {
console.log('ServiceAbility onCommand');
},
onConnect(want) {
console.log('ServiceAbility OnConnect');
return mMyStub;
},
onDisconnect(want) {
console.log('ServiceAbility OnDisConnect');
},
onStop() {
console.log('ServiceAbility onStop');
},
}
``` ```
### 连接远程Service<a name="section126857614019"></a>(当前仅对系统应用开放) ### 连接远程Service<a name="section126857614019"></a>(当前仅对系统应用开放)
...@@ -255,40 +233,36 @@ let promise = featureAbility.startAbility( ...@@ -255,40 +233,36 @@ let promise = featureAbility.startAbility(
```ts ```ts
import prompt from '@system.prompt' import prompt from '@system.prompt'
let mRemote; var option = {
function onConnectCallback(element, remote){ onConnect: function onConnectCallback(element, proxy) {
console.log('onConnectRemoteService onConnectDone element: ' + element); console.log(`onConnectRemoteService onConnectDone`)
console.log('onConnectRemoteService onConnectDone remote: ' + remote); if (proxy === null) {
mRemote = remote;
if (mRemote == null) {
prompt.showToast({ prompt.showToast({
message: "onConnectRemoteService not connected yet" message: "Connect service failed"
}); })
return; return
} }
let option = new rpc.MessageOption(); let data = rpc.MessageParcel.create()
let data = new rpc.MessageParcel(); let reply = rpc.MessageParcel.create()
let reply = new rpc.MessageParcel(); let option = new rpc.MessageOption()
data.writeInt(1); data.writeInterfaceToken("connect.test.token")
data.writeInt(99); proxy.sendRequest(0, data, reply, option)
mRemote.sendRequest(1, data, reply, option).then((result) => {
console.log('sendRequest success');
let msg = reply.readInt();
prompt.showToast({ prompt.showToast({
message: "onConnectRemoteService connect result: " + msg, message: "Connect service success"
duration: 3000 })
}); },
}).catch((e) => { onDisconnect: function onDisconnectCallback(element) {
console.log('sendRequest error:' + e); console.log(`onConnectRemoteService onDisconnectDone element:${element}`)
}); prompt.showToast({
} message: "Disconnect service success"
})
function onDisconnectCallback(element){ },
console.log('ConnectRemoteAbility onDisconnect Callback') onFailed: function onFailedCallback(code) {
} console.log(`onConnectRemoteService onFailed errCode:${code}`)
prompt.showToast({
function onFailedCallback(code){ message: "Connect local service onFailed"
console.log('ConnectRemoteAbility onFailed Callback') })
}
} }
``` ```
...@@ -374,23 +348,25 @@ Service侧把自身的实例返回给调用侧的代码示例如下: ...@@ -374,23 +348,25 @@ Service侧把自身的实例返回给调用侧的代码示例如下:
```ts ```ts
import rpc from "@ohos.rpc"; import rpc from "@ohos.rpc";
class FirstServiceAbilityStub extends rpc.RemoteObject{ class FirstServiceAbilityStub extends rpc.RemoteObject {
constructor(des) { constructor(des: any) {
if (typeof des === 'string') { if (typeof des === 'string') {
super(des); super(des)
} else { } else {
return null; return
} }
} }
onRemoteRequest(code, data, reply, option) {
console.log("ServiceAbility onRemoteRequest called"); onRemoteRequest(code: number, data: any, reply: any, option: any) {
console.log(printLog + ` onRemoteRequest called`)
if (code === 1) { if (code === 1) {
let op1 = data.readInt(); let string = data.readString()
let op2 = data.readInt(); console.log(printLog + ` string=${string}`)
console.log("op1 = " + op1 + ", op2 = " + op2); let result = Array.from(string).sort().join('')
reply.writeInt(op1 + op2); console.log(printLog + ` result=${result}`)
reply.writeString(result)
} else { } else {
console.log("ServiceAbility unknown request code"); console.log(printLog + ` unknown request code`)
} }
return true; return true;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册