# APP控制指令

注意

该指令只适用于技能协议v2.1,只可用于iFLYOS的技能。

# 指令说明

该指令用于让技能控制安卓系统上的APP。技能中下发的字段,最终会以Android Intent的方式传输给对应的APP,APP进行对应的操作。

在使用该指令时,设备端组装Android Intent的方式是一致的,请保证你传输的字段取值,是最终APP可以相应的Android Intent字段取值。

# 指令协议

"directives": [
  {
    "type": "AppAction.Execute",
    "executionId": "xxx",
    "actions": [//一次技能返回可以返回多个action(一类,如【用高德地图导航到万达广场】和【用百度地图导航到万达广场】)
      {
        "token": "xxx",
        "data": {
          "type": "activity",
          "uri": "URI_SAMPLE",               
          "packageName": "PACKAGE_NAME_SAMPLE", 
          "categoryName": "CATEGORY_NAME_SAMPLE",               
          "friendlyName": "FRIENDLY_NAME_SAMPLE",               
          "className": "CLASS_NAME_SAMPLE",               
          "actionName": "ACTION_NAME_SAMPLE",               
          "extras": {                 
            "EXTRA_KEY_SAMPLE_1": "EXTRA_VALUE_SAMPLE_1", 
            "EXTRA_KEY_SAMPLE_2": "EXTRA_VALUE_SAMPLE_2", 
            // 其他的 extra              
          }                         
        }
      },
      {//第二个action,设备会顺序执行,只要执行成功一个action,就当做这个execute执行成功
        "token": "xxx",
        "data": {
          "type": "activity",
          "uri": "URI_SAMPLE",               
          "packageName": "PACKAGE_NAME_SAMPLE", 
          "categoryName": "CATEGORY_NAME_SAMPLE",               
          "friendlyName": "FRIENDLY_NAME_SAMPLE",               
          "className": "CLASS_NAME_SAMPLE",               
          "actionName": "ACTION_NAME_SAMPLE",               
          "extras": {                 
            "EXTRA_KEY_SAMPLE_1": "EXTRA_VALUE_SAMPLE_1", 
            "EXTRA_KEY_SAMPLE_2": "EXTRA_VALUE_SAMPLE_2", 
            // 其他的 extra              
          }                         
        }
      }
    ] 
  },
]
参数 类型 说明 必有
type String 这里取值:AppAction.Execute
execution_id String 代表这一组执行的 id,技能自行指定
actions List action 列表,按顺序执行。执行成功一个 action 后,其他的 action 无需执行。
actions.[i].token String 代表这个 action 的唯一标识,技能自行指定
actions.[i].data Object 执行 app_action 时需要的 data。
actions.[i].data.type String 这个action的类型,可取值:activity,service,broadcast。当不出现的时候,默认取值 activity。只有 Android 设备的执行返回才会出现这个字段
actions.[i].data.uri String uri 数据,iOS 设备执行必填,Android 设备非必填。
actions.[i].data.packageName String 应用包名,,只有 Android 设备的执行返回才会出现这个字段
actions.[i].data.categoryName String category 数据,只有 Android 设备的执行返回才会出现这个字段
actions.[i].data.friendlyName String 应用显示的名称,一般为中文
actions.[i].data.className String class 数据,只有 Android 设备的执行返回才会出现这个字段
actions.[i].data.actionName String action 数据,只有 Android 设备的执行返回才会出现这个字段
actions.[i].data.extras Object 该 app_action 的附带信息,key和value可技能自定义。