HarmonyOS鸿蒙Next中通过联系人拉起一个EmptyPageAbility,显示一个空白界面,但无法显示页面内容,报错为401。配置已检查,求助是什么原因
HarmonyOS鸿蒙Next中通过联系人拉起一个EmptyPageAbility,显示一个空白界面,但无法显示页面内容,报错为401。配置已检查,求助是什么原因
IntentExecutorImpl.ets
export default class IntentExecutorImpl extends InsightIntentExecutor {
try {
let want: Want = {
bundleName: 'com.ohos.contacts',
abilityName: 'EmptyPageAbility',
parameters: {
message: `搜索到 ${mediaUri.length} 张图片`
}
};
Logger.i(TAG, '启动参数: ' + JSON.stringify(want));
// 启动 EmptyPageAbility
this.context.startAbility(want, (err: BusinessError) => {
Logger.i(TAG, 'EmptyPageAbility hear');
if (err.code) {
console.error(`Failed to startAbility. Code: ${err.code}, message: ${err.message}.`);
}
Logger.i(TAG, 'EmptyPageAbility hear1');
});
Logger.i(TAG, '✅ EmptyPageAbility 启动');
} catch (err) {
const error = err as BusinessError;
Logger.e(TAG, '❌ 启动 EmptyPageAbility 失败: code=' + error.code + ', message=' + error.message);
// 显示错误提示
promptAction.showToast({
message: '启动显示页面失败: ' + error.message,
duration: 3000
});
}
}
EmptyPageAbility.ets
// EmptyPageAbility.ets
import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit';
import { window } from '@kit.ArkUI';
import { hilog } from '@kit.PerformanceAnalysisKit';
import Base, { BusinessError } from '@ohos.base';
const DOMAIN = 0x0000;
export default class EmptyPageAbility extends UIAbility {
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
let context = this.context;
hilog.info(DOMAIN, 'testTag', 'EmptyPageAbility onCreate - 开始创建'+JSON.stringify(context));
}
onWindowStageCreate(windowStage: window.WindowStage): void {
hilog.info(DOMAIN, 'testTag', 'EmptyPageAbility onWindowStageCreate - 创建窗口阶段');
// 主窗口创建,设置主页面
windowStage.loadContent('pages/Index', (err) => {
if (err.code) {
hilog.info(DOMAIN, 'testTag', 'Failed to load EmptyPageAbility EmptyPage pages/Index'+ JSON.stringify(err));
console.error('Failed to load the content. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in loading the content. Data: ');
});
}
onForeground(): void {
hilog.info(DOMAIN, 'testTag', 'EmptyPageAbility onForeground - 进入前台');
}
onBackground(): void {
hilog.info(DOMAIN, 'testTag', 'EmptyPageAbility onBackground - 进入后台');
}
onDestroy(): void {
hilog.info(DOMAIN, 'testTag', 'EmptyPageAbility onDestroy - 销毁');
}
}
Index.ets
// Index.ets - 简化调试版本
import { common } from '@kit.AbilityKit';
import { Want } from '@kit.AbilityKit';
import { promptAction } from '@kit.ArkUI';
import { hilog } from '@kit.PerformanceAnalysisKit';
const DOMAIN = 0x0000;
@Entry
@Component
struct Index {
@State message: string = 'Hello World!';
@State debugInfo: string = '初始化中...';
build() {
Column() {
// 简单按钮测试交互
Button('点击测试')
.onClick(() => {
this.message = 'Hello HarmonyOS!';
promptAction.showToast({
message: '按钮点击成功!',
duration: 1000
});
hilog.info(DOMAIN, 'testTag', '按钮点击事件触发');
})
.width(200)
.height(50)
.margin({ top: 50 })
// 状态指示
Text('页面状态: 正常运行')
.fontSize(14)
.fontColor(Color.Green)
.margin({ top: 30 })
}
.width('100%')
.height('100%')
.backgroundColor(Color.White)
.justifyContent(FlexAlign.Center)
}
}
更多关于HarmonyOS鸿蒙Next中通过联系人拉起一个EmptyPageAbility,显示一个空白界面,但无法显示页面内容,报错为401。配置已检查,求助是什么原因的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
401错误通常表示权限问题。检查以下配置:
- 在module.json5中确认已申请ohos.permission.READ_CONTACTS权限
- 检查requestPermissions权限申请逻辑是否完整
- 验证Contacts相关接口调用前是否已获取权限授权
- 确认EmptyPageAbility的配置信息是否正确
权限未正确申请或授权会导致页面无法正常显示内容。
更多关于HarmonyOS鸿蒙Next中通过联系人拉起一个EmptyPageAbility,显示一个空白界面,但无法显示页面内容,报错为401。配置已检查,求助是什么原因的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


