0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ファーウェイWear Engine SDKによるウォッチアプリの起動について

0
Last updated at Posted at 2026-07-02

スポーツウォッチ(Lite Wearable)アプリの場合

スマホ側でWear Engine SDKのpingメソッドを使えば、指定したスポーツウォッチアプリを起動できます。

Androidの場合:

HiWear.getP2pClient(context)
    .setPeerPkgName({スポツウォッチアプリのパッケジ名}})
    .ping(connectedDevice, object : PingCallback {
        override fun onPingResult(errCode: Int) {
        }
    })
    .addOnSuccessListener {
    }
    .addOnFailureListener { execption ->
    }

iOSの場合:

HiWear.getP2PClient().ping(currentDevice, srcPkgName: {iOSアプリのパッケージ名}, destPkgName: {スポーツウォッチアプリのパッケージ名}) { status in
    if status == .WESErrorCodeP2PWatchAPPRunning {
        // pingが成功
    } else {
        // pingが失败
        // エラーコードがstatus.rawValueに格納される
    }
}

スポーツウォッチアプリのプロジェクトでは特別な設定がいりません。

スマートウォッチ(Wearable)アプリの場合

※JavaScript(ArkTSではない)によるスマートウォッチアプリを開発する場合

スマホ側ではスポーツウォッチアプリの場合と同じく、Wear Engine SDKのpingメソッドを使って、指定したスマートウォッチアプリを起動します。

Androidの場合:

HiWear.getP2pClient(context)
    .setPeerPkgName({スポツウォッチアプリのパッケジ名}})
    .ping(connectedDevice, object : PingCallback {
        override fun onPingResult(errCode: Int) {
        }
    })
    .addOnSuccessListener {
    }
    .addOnFailureListener { execption ->
    }

iOSの場合:

HiWear.getP2PClient().ping(currentDevice, srcPkgName: {iOSアプリのパッケージ名}, destPkgName: {スマートウォッチアプリのパッケージ名}) { status in
    if status == .WESErrorCodeP2PWatchAPPRunning {
        // pingが成功
    } else {
        // pingが失败
        // エラーコードがstatus.rawValueに格納される
    }
}

スマートウォッチアプリのプロジェクトについて、まずファーウェイWear Engine SDKの実装 - Lite WearableのプロジェクトをWearableのプロジェクトに変換する手順に従って、スマートウォッチアプリのプロジェクトを作ります。

次に、プロジェクトのsrc/main/config.jsonを下記のようにを編集します。

1. bundleNameとpackageの設定

bundleNameとpackageの値を同じものにします。

config.json
{
  "app": {
    "bundleName": "bundleNameとpackageの値を同じものにする",
    ...
  },
  "module": {
    "package": "bundleNameとpackageの値を同じものにする",
    ...
  }
  ...
}

2. typeとvisibleとlaunchTypeの設定

「type」に「page」を設定し、「visible」に「true」を設定し、「launchType」に「singleMission」または「singleton」を設定します。

config.json
{
  "module": {
    "abilities": [
      {
        "type": "page",
        "visible": true,
        "launchType": "singleMission"
        ...
      }
    ],
    ...
  }
  ...
}

ちなみに、HarmonyOSのlaunchTypeとAndroidのlaunchModeの対応関係は下記の通りです。

HarmonyOS Android
standard standard
singleMission singleTask
singleton singleInstance

3. metaDataの追加

次のように、metaDataを追加します。「value」にスマホアプリのパッケージ名を設定します。
もしぱパッケージ名が一つしかなければ、"value": "{パッケージ名}"になります。

config.json
{
  {
    ...
    "metaData": {
      "customizeData": [
        {
          "name": "wearEngineRemoteAppNameList",
          "value": "{Androidアプリのパッケージ名},{iOSアプリのパッケージ名}"
        }
      ]
    }
  }
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?