
回复
type
:PICTURE(拍照)/VIDEO(录像)/BARCODE(扫码)quality
:图片质量(HIGH/MEDIUM/LOW)import { CameraPicker } from '@ohos.arkui.ability.camera';
const cameraPicker = new CameraPicker();
cameraPicker.startCamera({
type: CameraPickerType.PICTURE,
quality: CameraQuality.HIGH,
onResult: (data) => {
const imageUri = data.uri; // 拍照结果URI
}
});
type
:ALL(全部)/DOCUMENT(文档)/AUDIO(音频)import { DocumentViewPicker } from '@ohos.arkui.ability.filemanager';
const documentPicker = new DocumentViewPicker();
documentPicker.startDocumentView({
type: DocumentViewPickerType.DOCUMENT,
onResult: (data) => {
const fileUri = data.uri; // 选择的文件URI
}
});
type
:ALL(全部)/PHONE(电话)/EMAIL(邮箱)import { ContactsPicker } from '@ohos.arkui.ability.contacts';
const contactsPicker = new ContactsPicker();
contactsPicker.startContacts({
type: ContactsPickerType.ALL,
onResult: (data) => {
const contactInfo = data; // 联系人姓名、电话等信息
}
});
action
:‘ohos.intent.action.SHOW_SETTINGS’uri
:设置页面标识(如appsetting
/wifi
)import { common } from '@ohos.app.ability.common';
const want = {
action: 'ohos.intent.action.SHOW_SETTINGS',
uri: 'wifi' // 直接打开WiFi设置
};
context.startAbility(want);
ohos.permission.CALL_PHONE
makeCall(phoneNumber)
import { Telephony } from '@ohos.arkui.ability.telephony';
const telephony = Telephony.getTelephony();
telephony.makeCall('10086'); // 拨打客服电话
import { common } from '@ohos.app.ability.common';
const want = {
action: 'ohos.intent.action.SHOW_CALENDAR',
parameters: { date: '2023-12-31' } // 打开指定日期
};
context.startAbility(want);
功能 | 必要权限 | 说明 |
---|---|---|
相机 | ohos.permission.CAMERA |
拍照/录像必须 |
联系人 | ohos.permission.READ_CONTACTS |
读取联系人信息 |
拨打电话 | ohos.permission.CALL_PHONE |
直接拨号必须 |
// 统一结果处理模式
{
onResult: (data) => {
if (data.success) {
processData(data.result);
} else {
showToast('操作取消');
}
},
onError: (code, msg) => {
console.error(`错误码${code}:${msg}`);
}
}
HarmonyOS通过系统Picker组件和特定接口,提供了便捷访问相机、文件、联系人等系统功能的能力。开发时需注意权限申请、结果回调处理及设备兼容性,合理使用startAbility
和系统组件,即可打造流畅的系统功能调用体验,提升应用实用性和用户体验。