文档管理中心

平板设备上访问应用内页面时出现请用手机访问的弹窗

问题现象

使用平板打开应用,在跳转部分二级页面时,出现请用手机访问的弹窗。

背景知识

问题定位

  1. 对比平板上出现弹窗和不出现弹窗页面的区别,出现弹窗和不出现弹窗的页面组件不一致,表明采用的是两个页面。
  2. 查阅跳转到出现弹窗页面的代码逻辑中是否针对设备类型为tablet做了弹窗适配,例如下面代码。
    收起
    自动换行
    深色代码主题
    复制
    1. import { mediaquery } from '@kit.ArkUI';
    2. @Entry
    3. @Component
    4. struct MediaQueryExample {
    5. @State text: string = 'Portrait';
    6. // 当设备为tablet类型时条件成立
    7. listener: mediaquery.MediaQueryListener = this.getUIContext().getMediaQuery().matchMediaSync('(device-type: tablet)');
    8. build() {
    9. Column({ space: 50 }) {
    10. Text(this.text).fontSize(50)
    11. .onClick(() => {
    12. if (this.listener.matches) {
    13. this.getUIContext().getPromptAction().showToast({
    14. message: '请用手机访问',
    15. duration: 1500
    16. });
    17. }
    18. // 跳转到详情页
    19. });
    20. }
    21. .width('100%').height('100%');
    22. }
    23. }

分析结论

应用代码中,针对tablet类型的设备,在部分二级页面跳转时设置了请用手机访问的弹窗,怀疑是当初tablet类型设备适配时,股票详情页未开发时添加的友好弹窗。

修改建议

建议在功能实现后及时删除友好提示弹窗代码。

收起
自动换行
深色代码主题
复制
  1. @Entry
  2. @Component
  3. struct MediaQueryExample {
  4. private text: string = 'Portrait';
  5. build() {
  6. Column({ space: 50 }) {
  7. Text(this.text).fontSize(50)
  8. .onClick(() => {
  9. // 跳转到详情页
  10. });
  11. }
  12. .width('100%').height('100%');
  13. }
  14. }
在 FAQ 中进行搜索
请输入您想要搜索的关键词