精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙NEXT實(shí)戰(zhàn)開發(fā):【截屏】

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-03-07 16:02 ? 次閱讀

展示全屏截圖和屏幕局部截圖。通過(guò)[screenshot]模塊實(shí)現(xiàn)屏幕截圖 ,通過(guò)[window]模塊實(shí)現(xiàn)隱私窗口切換,通過(guò)[display]模塊查詢當(dāng)前隱私窗口。

效果預(yù)覽

image.png

使用說(shuō)明:

  1. 點(diǎn)擊右上角圖標(biāo)打開彈窗,選擇截屏,展示全屏截圖;選擇局部截屏,選擇截屏區(qū)域,點(diǎn)擊右下角完成,展示局部截屏;
  2. 點(diǎn)擊滑塊切換窗口隱私模式,隱私模式下截屏?xí)棾鎏崾荆芙^截屏。

具體實(shí)現(xiàn)

本示例通過(guò)screenshot接口實(shí)現(xiàn)屏幕截圖 ,通過(guò)window接口實(shí)現(xiàn)隱私窗口切換,通過(guò)display接口查詢當(dāng)前隱私窗口。

  • 源碼鏈接:[Screenshot.ets]
/*

 * Copyright (c) 2022 Huawei Device Co., Ltd.

 * Licensed under the Apache License, Version 2.0 (the "License");

 * you may not use this file except in compliance with the License.

 * You may obtain a copy of the License at

 *

 *     http://www.apache.org/licenses/LICENSE-2.0

 *

 * Unless required by applicable law or agreed to in writing, software

 * distributed under the License is distributed on an "AS IS" BASIS,

 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

 * See the License for the specific language governing permissions and

 * limitations under the License.

 */



import screenshot from '@ohos.screenshot'

import { Logger } from './Logger'

import { getCurrentWindow } from './WindowPrivacy'



// 屏幕截圖 默認(rèn)參數(shù)screenshotOptions為空時(shí) 截全屏

export function getScreenshot(screenshotOption = {}) {

  return screenshot.save(screenshotOption)

}



// 設(shè)置全屏展示 isFullScreen: boolean

export function setFullScreen(context: Context, isFullScreen: boolean) {

  getCurrentWindow(context)

    .then(res = > {

      res.setFullScreen(isFullScreen, (err) = > {

        if (err.code) {

          Logger.error('failed set full-screen mode cause: ' + JSON.stringify(err))

          return

        }

        Logger.info('success set full-screen mode')

      })

    })

}
  • [WindowPrivacy.ets]
/*

 * Copyright (c) 2022 Huawei Device Co., Ltd.

 * Licensed under the Apache License, Version 2.0 (the "License");

 * you may not use this file except in compliance with the License.

 * You may obtain a copy of the License at

 *

 *     http://www.apache.org/licenses/LICENSE-2.0

 *

 * Unless required by applicable law or agreed to in writing, software

 * distributed under the License is distributed on an "AS IS" BASIS,

 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

 * See the License for the specific language governing permissions and

 * limitations under the License.

 */



import window from '@ohos.window'

import display from '@ohos.display'

import { ResponseData } from '../models/ResponseData'

import { Logger } from './Logger'



// 獲取當(dāng)前窗口

export function getCurrentWindow(context: Context) {

  return window.getTopWindow(context)

}



// 判斷隱私窗口

export function hasPrivate(): ResponseData {

  let currentDisplay = null

  try {

    currentDisplay = display.getDefaultDisplaySync()

  } catch (exception) {

    return { status: 'failed', errorMessage: JSON.stringify(exception) }

  }

  if (currentDisplay === null) {

    return { status: 'failed', errorMessage: 'get current display failed' }

  }

  let ret = undefined

  try {

    ret = display.hasPrivateWindow(currentDisplay.id)

  } catch (exception) {

    return { status: 'failed', errorMessage: JSON.stringify(exception) }

  }

  if (ret === undefined) {

    return { status: 'failed', errorMessage: 'ret is undefined' }

  }

  return ret ? { status: 'success', errorMessage: '', result: true } :

    { status: 'success', errorMessage: '', result: false }

}





// 設(shè)置隱私窗口

export function setWindowPrivacyMode(context: Context, windowPrivacyMode: boolean) {

  let currentWindow = null

  getCurrentWindow(context)

    .then(res = > {

      currentWindow = res

      try {

        currentWindow.setWindowPrivacyMode(windowPrivacyMode, (err) = > {

          if (err.code) {

            Logger.error('set window privacy mode failed cause: ' + JSON.stringify(err))

            return

          }

          Logger.info(`set window privacy mode success ${windowPrivacyMode}`)

        })

      } catch (exception) {

        Logger.info('set window mode failed cause: ' + JSON.stringify(exception))

      }

    })

}

062b7e9f99042d0461e287c5c0ee8749.png

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2309

    瀏覽量

    42740
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙千帆起】《鋼嵐》成為首款基于HarmonyOS NEXT開發(fā)的戰(zhàn)棋新游

    近日,紫龍游戲旗下 BlackJack 工作室全新戰(zhàn)棋旗艦作品《鋼嵐》在華為游戲中心首發(fā)上線,并宣布《鋼嵐》完成鴻蒙原生應(yīng)用開發(fā),成為基于 HarmonyOS NEXT 開發(fā)的首款戰(zhàn)棋
    發(fā)表于 12-28 10:24

    2024款鴻蒙OS 最新HarmonyOS Next_HarmonyOS4.0系列教程分享

    實(shí)戰(zhàn),還包含了HarmonyOS 仿小米App實(shí)戰(zhàn)。詳情參考大綱或者目錄介紹。 根據(jù)華為鴻蒙生態(tài)推廣部門介紹,HarmonyOS4和未來(lái)的HarmonyOS5(HarmonyOS Next
    發(fā)表于 02-28 10:29

    鴻蒙實(shí)戰(zhàn)項(xiàng)目開發(fā):【短信服務(wù)】

    、OpenHarmony 多媒體技術(shù)、Napi組件、OpenHarmony內(nèi)核、Harmony南向開發(fā)鴻蒙項(xiàng)目實(shí)戰(zhàn)等等)鴻蒙(Harmony NE
    發(fā)表于 03-03 21:29

    【書籍評(píng)測(cè)活動(dòng)NO.47】HarmonyOS NEXT啟程:零基礎(chǔ)構(gòu)建純血鴻蒙應(yīng)用

    要在2000萬(wàn) 。這一呼吁引起了全球開發(fā)者的關(guān)注,也意味著市場(chǎng)對(duì)HarmonyOS開發(fā)人才的需求將快速增長(zhǎng)。 什么是純血鴻蒙 HarmonyOS NEXT,也被稱為純血
    發(fā)表于 10-14 14:36

    鴻蒙Flutter實(shí)戰(zhàn):07混合開發(fā)

    # 鴻蒙Flutter實(shí)戰(zhàn):混合開發(fā) 鴻蒙Flutter混合開發(fā)主要有兩種形式。 ## 1.基于har 將flutter module
    發(fā)表于 10-23 16:00

    鴻蒙系統(tǒng)截圖怎么 在哪里操作

    華為鴻蒙操作系統(tǒng)發(fā)布已經(jīng)過(guò)去將近一個(gè)月了,那么,華為鴻蒙系統(tǒng)截圖怎么鴻蒙系統(tǒng)
    的頭像 發(fā)表于 06-25 09:57 ?8092次閱讀

    鴻蒙系統(tǒng)怎么 5種方法的詳細(xì)介紹

    鴻蒙系統(tǒng)作為一個(gè)新系統(tǒng),里面的玩法肯定也會(huì)與之前系統(tǒng)有一定的差別,很多小伙伴就不太清楚鴻蒙系統(tǒng)怎么
    的頭像 發(fā)表于 06-28 12:03 ?6.2w次閱讀

    鴻蒙系統(tǒng)功能在哪里

    華為鴻蒙系統(tǒng)發(fā)布后,目前為止很多小伙伴都升級(jí)了鴻蒙系統(tǒng),是手機(jī)使用過(guò)程中一個(gè)很基礎(chǔ)的功能,那么鴻蒙系統(tǒng)
    的頭像 發(fā)表于 07-09 15:44 ?1.1w次閱讀

    屏幕功能

    屏幕功能
    發(fā)表于 05-26 15:25 ?15次下載

    淘寶與華為合作將基于HarmonyOS NEXT啟動(dòng)鴻蒙原生應(yīng)用開發(fā)

    1月25日,淘寶與華為舉辦鴻蒙合作簽約儀式,宣布將基于HarmonyOS NEXT啟動(dòng)鴻蒙原生應(yīng)用開發(fā)
    的頭像 發(fā)表于 01-26 16:14 ?1054次閱讀

    華為宣布HarmonyOS NEXT鴻蒙星河版開發(fā)者預(yù)覽面向開發(fā)者開放申請(qǐng)

    華為宣布HarmonyOS NEXT鴻蒙星河版開發(fā)者預(yù)覽面向開發(fā)者開放申請(qǐng),這意味著鴻蒙生態(tài)進(jìn)入第二階段,將加速千行百業(yè)的應(yīng)用
    的頭像 發(fā)表于 01-29 16:42 ?1365次閱讀
    華為宣布HarmonyOS <b class='flag-5'>NEXT</b><b class='flag-5'>鴻蒙</b>星河版<b class='flag-5'>開發(fā)</b>者預(yù)覽面向<b class='flag-5'>開發(fā)</b>者開放申請(qǐng)

    鴻蒙開發(fā)教程

    去年8 月份華為發(fā)布會(huì)上,華為發(fā)布了HarmonyOS NEXT預(yù)覽版,宣布不再兼容安卓應(yīng)用。大家期待的純血鴻蒙終于要來(lái)臨了,next 預(yù)覽版本現(xiàn)在已經(jīng)開放申請(qǐng)渠道了,Next
    的頭像 發(fā)表于 01-31 17:11 ?728次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>教程

    華為pockets怎么

    華為Pocket S的方法有以下幾種。
    的頭像 發(fā)表于 03-06 16:06 ?1755次閱讀

    鴻蒙NEXT南向開發(fā)案例:【智能臺(tái)燈】

    鴻蒙南向開發(fā)之智能臺(tái)燈案例
    的頭像 發(fā)表于 04-03 18:00 ?934次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>NEXT</b>南向<b class='flag-5'>開發(fā)</b>案例:【智能臺(tái)燈】

    HarmonyOS開發(fā)實(shí)例:【手勢(shì)

    基于手勢(shì)處理和能力,介紹了手勢(shì)的實(shí)現(xiàn)過(guò)程。樣例主要包括以下功能
    的頭像 發(fā)表于 04-11 22:38 ?461次閱讀
    HarmonyOS<b class='flag-5'>開發(fā)</b>實(shí)例:【手勢(shì)<b class='flag-5'>截</b><b class='flag-5'>屏</b>】