カメラを開き、デバイスで UIAbility を明示的に開く方法 [Nut Pie-Nut]
今日Lavalコミュニティで厄介なプログラマーが助けを求めているのを見ました
元のリンク:
https://laval.csdn.net/64e69d6c2ea0282871eaa75d.html
非政府組織ナット・パイの役柄が出てきました。
ここでは後で使用するwantを紹介します。
欲しい
Want はオブジェクト間の情報転送のキャリアであり、アプリケーション コンポーネント間の情報転送に使用できます。Want の使用シナリオの 1 つは、startAbility のパラメータとして使用されます。これには、指定された起動ターゲットと起動時に保持される関連データが含まれます。たとえば、bundleName フィールドとabilityName フィールドはそれぞれ、ターゲットのアビリティが含まれるアプリケーションのパッケージ名を示します。対応するパッケージ内のアビリティの場所と名前。UIAbilityA が UIAbilityB を開始してデータを渡す必要がある場合、Want をキャリアとして使用してこれらのデータを UIAbilityB に渡すことができます。
次に始めます
カメラをオンにする方法
ステップ 1: モジュールをインポートする
import common from '@ohos.app.ability.common';
ステップ 2: コンテキストを取得する
let context = getContext(this) as common.UIAbilityContext; // UIAbilityContext
ステップ 3: 必要な情報を追加する
let want = {
deviceId: '', // deviceId为空表示本设备
bundleName: 'com.ohos.camera',
abilityName: 'com.ohos.camera.MainAbility'
};
ステップ 4: 開始
context.startAbility(want, (err) => {
console.error(`Failed to startAbility. Code: ${err.code}, message: ${err.message}`);
});
完全なソースコード
import common from '@ohos.app.ability.common';
@Entry
@Component
struct Index {
build() {
Row() {
Column() {
Text("显式打开相机")
.fontSize(36)
.fontWeight(FontWeight.Bold).onClick(() => {
let context = getContext(this) as common.UIAbilityContext; // UIAbilityContext
let want = {
deviceId: '', // deviceId为空表示本设备
bundleName: 'com.ohos.camera',
abilityName: 'com.ohos.camera.MainAbility'
};
context.startAbility(want, (err) => {
console.error(`Failed to startAbility. Code: ${err.code}, message: ${err.message}`);
});
})
}
.width('100%')
}
.height('100%')
}
}
彼からの別の質問を見てみましょう
https://laval.csdn.net/64e566284165333c3076a6a1.html
デバイス内の UIAbility を明示的に有効にする
ステップ 1: モジュールをインポートする
import common from '@ohos.app.ability.common';
ステップ 2: コンテキストを取得する
let context = getContext(this) as common.UIAbilityContext; // UIAbilityContext
ステップ 3: 必要な情報を追加する
let want = {
deviceId: '', // deviceId为空表示本设备
bundleName: 'com.example.map',
abilityName: 'EntryAbility',
};
ステップ 4: 開始
context.startAbility(want, (err) => {
console.error(`Failed to startAbility. Code: ${err.code}, message: ${err.message}`);
});
完全なソースコード
import common from '@ohos.app.ability.common';
@Entry
@Component
struct Index {
build() {
Row() {
Column() {
Text("显式打开设备内UIAbility")
.fontSize(36)
.fontWeight(FontWeight.Bold).onClick(() => {
let context = getContext(this) as common.UIAbilityContext; // UIAbilityContext
let want = {
deviceId: '', // deviceId为空表示本设备
bundleName: 'com.example.map',
abilityName: 'EntryAbility',
};
context.startAbility(want, (err) => {
console.error(`Failed to startAbility. Code: ${err.code}, message: ${err.message}`);
});
})
}
.width('100%')
}
.height('100%')
}
}
さて、これでこの記事は終わりです。
Nutsに参加して一緒にHongmeng Ecologyを構築する皆さんを歓迎します。