デバイス内の他のアプリケーションの UIAbility を起動します (暗黙的な起動)
効果:
https://www.bilibili.com/video/BV1q8411Q7Sz/
1. デバイスに合わせて複数のドキュメントアプリケーションをインストールし、UIAbilityに対応したmodule.json5設定ファイルのスキルタグのentitiesフィールドとactionsフィールドを設定します。
たとえば私の場合は
{ "モジュール": { "能力": [ { ... "スキル": [ { "エンティティ": [ "entity.system.default" ], "アクション": [ "ohos.want.action.viewData" ] } ] } ] } }
2. 呼び出し元の want パラメータ内のエンティティとアクションは、一致する UIAbility のスキル構成のエンティティとアクションに含まれる必要があります。システムがエンティティとアクションのパラメーターを満たす UIAbility を照合すると、選択ボックスがポップアップ表示され、一致した UIAbility インスタンスのリストが表示され、ユーザーが選択して使用できます。
'@ohos.app.ability.common' から共通をインポートします。
let context = getContext(this) as common.UIAbilityContext;; // UIAbilityContext
let want = {
//
隐式Want启动
// action: 'ohos.want.action.viewData',
// // エンティティは省略可能。
// entities: ['entity.system.default'],
}
// contextは调用方UIAbilityのUIAbilityContext
context.startAbility(want).then(() => {
console.info
('アビリティの起動に成功しました。' );
}).catch((err) => {
console.error(`機能の開始に失敗しました。コードは ${err.code}、メッセージは ${err.message}`);
})
})
次に、2 つのアプリをインストールすれば完了です。
最後に効果を見てみましょう。
添付ファイル: 一般的なアクションとエンティティ
action: 呼び出し元が実行する一般的なアクション (表示、共有、アプリの詳細など) を示します。暗黙的な Want では、このフィールドを定義し、uri またはパラメーターと連携して、データに対して実行される操作を示すことができます。有効にすると、uri データが表示されます。たとえば、uri が URL で、アクションが ohos.want.action.viewData の場合、URL を表示できるアプリケーション コンポーネントが一致することを意味します。Want でアクション フィールドを宣言すると、呼び出し先アプリケーションが宣言された操作をサポートすることが期待されていることを示します。呼び出し先アプリケーション構成ファイルのスキル フィールドでアクションを宣言すると、アプリケーションが宣言された操作をサポートすることが示されます。
一般的なアクション
-
ACTION_HOME: アプリケーション エントリ コンポーネントを開始するアクション。ENTITY_HOME と組み合わせて使用する必要があります。システム デスクトップ アプリケーション アイコンは明示的なエントリ コンポーネントであり、それをクリックするとエントリ コンポーネントも開始されます。複数のエントリ コンポーネントを構成できます。
-
ACTION_CHOOSE: 連絡先、フォト アルバムなどのローカル リソース データを選択します。システムには通常、連絡先やギャラリーなどのさまざまな種類のデータに対応するピッカー アプリケーションがあります。
-
ACTION_VIEW_DATA: データの表示、URL uri を使用した場合、URL に対応するコンテンツを表示することを意味します。
-
ACTION_VIEW_MULTIPLE_DATA: 複数のデータ レコードを送信するアクション。
entities : 対象となるアプリケーションコンポーネント(ブラウザ、ビデオプレーヤーなど)のカテゴリ情報を示し、暗黙的なWantにおけるアクションを補足します。Implicit Want では、開発者はこのフィールドを定義して、一致するアプリケーションのカテゴリをフィルタリングできます (たとえば、ブラウザである必要があります)。Want でエンティティ フィールドを宣言すると、呼び出される側のアプリケーションが宣言されたカテゴリに属することが期待されることを示します。呼び出されたアプリケーション構成ファイルのスキル フィールドで宣言されたエンティティは、アプリケーションによってサポートされるカテゴリを示します。
共通の実体
-
ENTITY_DEFAULT: デフォルトのカテゴリは意味がありません。
-
ENTITY_HOME: ホーム画面にはアイコンクリック入力カテゴリがあります。
-
ENTITY_BROWSABLE: ブラウザのカテゴリを示します。