- 博客(300)
- 问答 (1)
- 收藏
- 关注
原创 Android: Handler 的用法详解
Android 中 Handler 的用法详解Handler 是 Android 中用于线程间通信的重要机制,主要用于在不同线程之间发送和处理消息。以下是 Handler 的全面用法指南:一、Handler 的基本原理Handler 基于消息队列(MessageQueue)和循环器(Looper)工作,主要组成:Message:携带数据的消息对象MessageQueue:消息队列,存储待处理的消息Looper:消息循环,不断从队列取出消息处理Handler:发送和处理消息的接口。
2025-04-03 15:08:59
196
原创 HarmonyOS Failure[MSG_ERR_INSTALL_GRANT_REQUEST_PERMISSIONS_FAILED]报错权限自查
在调用ArkTS API 的过程中,往往会受到一些权限的限制,但是明明我们已经在module.json5文件的requestPermissions配置了该权限,真机运行的的时候却报错,一直运行不起来,这是为何?这是因为受限权限 profile没有申请安装,所以报错了,而且并不是所有的权限都能使用的。看下自己要用的应用权限是哪种级别,只有“权限级别:normal”的,我们可以直接在module.json5里面配置然后直接使用;1、先参照应用权限列表应用权限列表。【问题分析及解决方案】
2025-03-21 16:37:59
216
原创 【HarmonyOS NEXT】ACL 受限权限申请
关键词:受限开放权限、ACL、鸿蒙在鸿蒙应用开发过程中,部分权限被受到限制(如悬浮窗开发、读取联系人数据、读取公共目录音频文件等权限),但是在我们的应用开发过程中又不得不使用该权限时可向华为申请受限权限,本期将介绍如何申请受限权限并完成开发配置。需要注意的是:应用/元服务在上架华为应用市场时,华为应用市场会严格审核包含ACL(受限)权限的应用/元服务,不符合要求的应用/元服务将无法上架应用市场。因此,建议优先使用系统提供的替代技术方案,如或。目录第一步:AGC 平台创建项目。
2025-03-21 15:20:57
606
原创 harmongy next系统中应用权限等级介绍、定义、申请授权讲解
例如调用相机时,一般会从唤起相机功能的入口按钮处进行授权申请,用户不同意就不让用户进入,并且tips提示用户。针对以上介绍,有一种场景需要解决,即:低APL等级的应用,某个业务场景需要使用高等级的权限。此时就需要ACL这种机制,为该应用,对于受限的权限单独开放绿色通道,可以访问。这种方式用户体验很差,自从IOS要求应用在用户不授权时,也能使用其他非授权功能的政策后。如果应用涉及获取受限权限,在应用发布上架时,应用市场(AGC)将根据应用的使用场景审核是否可以使用对应的受限权限。
2025-03-21 14:26:49
830
原创 Harmony 实现zxing二维码扫码识别
二维码的应用场景非常广泛,在购物应用中,消费者可以直接扫描商品二维码,浏览并购买产品,如图是购物应用的扫描二维码的页面。本文就以 橘子购物示例应用 为例,来讲解OpenHarmony应用二维码开发相关的技术点。我们先看下二维码相关的几个概念。●。
2025-03-18 11:16:05
645
原创 harmony Default dialog implementation requires a parent window handle; canceling the JS dialog
HarmonyOS 鸿蒙Next onAlert监听 弹出框点击了确定还是取消按钮的回调事件返回:Default dialog implementation requires a parent window handle; canceling the JS dialog前端: 客户端:
2025-03-12 17:22:50
142
原创 Harmony DevEco Studio 导入第三方jar包
对于DevEco Studio中导入依赖的外部jar包:取到相应的jar包,将其置于工程目录entry => libs模块中;在导入的jar包上,右键单击,选择 Add as Library,然后在弹出的窗口输入引入jar包的名字,点击OK;
2025-03-11 10:05:39
367
3
原创 deveco studio工具快捷键
• 若要对当前文件中的代码进行格式化,请按 Ctrl+Alt+Shift+L(在 macOS 上为 Command+Option+L)。• 若要对指定范围内的代码进行格式化,请按 Ctrl+Alt+L(在 macOS 上为 Command+Option+L)。该编辑器允许您对指定范围内的代码或整个文件进行格式化,从而显著提高代码的可读性。
2025-03-07 08:49:13
105
原创 android中activity1和activity2中接收定时消息
ativity1和ativity2初始化的时候都要注册监听并且回调监听。ativity1跳转到ativity2,从ativity2跳转到ativity1的时,ativity1的onActivityResult方法要重新注册,因为MyAnager是一个单例,如果不从新注册,消息只能在ativity2中收到。ativity1中接收消息。ativity2中接收消息。
2025-03-06 10:19:57
3263
原创 设置谷歌Chrome浏览器打开新的标签页为指定网页(New Tab Redirect插件)
在如下的位置中,输入你想设置的谷歌Chrome浏览器新打开的标签页的指定网页,如www.baidu.com。现在在谷歌浏览器点击上方的加号(即打开新的标签页)时,即可自动加载刚才设置的网页。打开解压后的文件夹,找到_metadata文件夹,将其重命名为metadata。输入完整网址后,点击Save,会有如下提示,即为设置完成。至此对new tab redirect插件的修改已经完成。打开扩展程序,点击加载已解压的扩展程序。打开谷歌浏览器的设置,找到扩展程序。
2025-03-04 16:31:00
281
原创 鸿蒙 harmony 来个string字符串拼在一起值是NAN
当str=a+b拼出来的字段是nan。如下声明字段可以正常非空判断。当a+b拼出来的字段是''。非空判断显示的是false。
2025-02-27 15:45:11
104
原创 鸿蒙 harmony 提示:failed to start ability. Error while Launching activity
我修bundleName包名运行app的时候提示Error while Launching activity,意识是通过老包名拉起启动页面失败。我clean项目在运行依然提示这个错误。3. 点击 Sync Now → 系统将自动生成新调试签名。1.定位到「signingConfigs」配置块。2. 删除原有签名配置(或注释掉)解决方法是要重新生成签名。
2025-02-26 14:52:58
146
原创 鸿蒙Harmony Blank组件与layoutWeight属性的使用
配置该属性后,子组件沿主轴方向的尺寸设置(该组件不显示任何内容,并且会。其作用是配置子组件在。主轴方向上的尺寸权重。
2025-02-09 20:27:49
187
原创 鸿蒙 router.back()返回不到上个页面
鸿蒙的路由基于页面栈管理,确保上一个页面存在且未被销毁。如果结果为1,说明没有上一个页面可返回。正常情况:从A页面跳转到B页面后,栈长度应为2。在中,每个页面必须正确注册::跳转时使用的url参数需与中的路径一致(如大小写敏感)。如果使用,上一个页面会被替换,导致无法返回。在目标页面(希望返回的页面)中,检查是否覆盖了为确保上一个页面未被销毁:如果跳转时传递了,可能导致页面栈被修改。避免在跳转后手动调用。
2025-02-08 09:20:49
593
原创 鸿蒙harmony 数组转化为字符串
lsit.toString(),输出是0,1,2,3。lsit.join(' ') 输出是0123。lsit.join() 输出是0,1,2,3。
2025-02-07 22:37:40
110
原创 鸿蒙Harmony 切换按钮Toggle可以代替Switch
通过selectedColor属性设置Toggle打开选中后的背景颜色。通过switchPointColor属性设置Switch类型的圆形滑块颜色,仅对type为ToggleType.Switch生效。
2025-02-06 22:00:42
287
原创 鸿蒙Harmony-状态管理之@Provide与@Consumes
现在的需求是爷级组件和孙级组件通信传值,问题是,从代码结构上看,中间还隔了一个父级组件。虽然我们也可以基于上一篇讲的@State+@Prop,从爷->父->孙这样实现,但是管理起来毕竟有一个中间商不那么方便,而且这也是华为官方不推荐的做法,因为会消耗额外的性能。1.@Provide+@Consume也是开发中很常用的一对,尤其是组件跨级关系复杂的时候,这个时候就只需要定义一个@Provide在祖级组件中定义,其他多个后代组件@Consume接收即可;
2025-02-06 09:12:05
283
原创 鸿蒙Harmony Json格式转实体对象(2)
请注意,接口不能直接“包含”一个实例化的对象;实例化的对象是在实现这些接口时创建的,如上面的。)是用来定义一个对象的结构,它可以包含属性、方法签名,以及嵌套的类型(包括其他接口或对象类型)。这样做的好处是提高了代码的可读性和可维护性,因为你可以在不同的地方重用。在ArkTS(Ark TypeScript)中,接口(,但这里的“包含对象”通常指的是定义对象的形状(即属性及其类型)。接口定义了一个用户对象的结构,其中包含一个。属性,该属性本身是一个对象,具有。在这个例子中,我们首先定义了一个。
2025-01-21 09:26:54
304
原创 鸿蒙(HarmonyOS)常见的三种弹窗方式
自定义弹窗相比警告弹窗更为灵活,支持自定义弹窗的样式与内容。参数名参数类型必填参数描述builder是自定义弹窗内容构造器。cancel()=>void否点击遮障层退出时的回调。autoCancelboolean否是否允许点击遮障层退出。默认值:truealignment否弹窗在竖直方向上的对齐方式。默认值:DialogAlignment.DefaultoffsetOffset否弹窗相对alignment所在位置的偏移量。boolean否。
2025-01-20 15:40:26
963
原创 鸿蒙Harmony Json格式转实体对象(1)
HarmonyOS鸿蒙Next开发:按照key获取json的value网络请求的json获取value。下图为测试样例中服务器返回的Json数据。
2025-01-20 14:59:09
1934
原创 【鸿蒙实战开发】基于@ohos/crypto-js实现加解密工具箱
调用CryptoJS.algo.DES.createDecryptor接口,配置密钥、模式、填充、偏移量创建DES解密算法对象,调用process方法传入分段密文WordArray对象生成分段明文WordArray对象,通过数组克隆与拼接操作生成完整明文,并转为utf8格式显示。调用CryptoJS.algo.SHA3.create接口并配置输出长度创建Hasher对象,通过update方法传入多段明文,通过finalize方法生成密文。调用CryptoJS.SHA3接口,传入明文与输出长度,生成密文。
2025-01-19 19:10:35
707
原创 鸿蒙(HarmonyOS)实现隐私政策弹窗
在实现用户协议弹窗时,通常我们会想到使用系统自定义弹窗,并在弹窗中点击跳转到Web页面。但在HarmonyOS中,由于系统弹窗的显示优先级高于其他组件,即使跳转到Web页面,弹窗依然会显示在最上层。为了解决这个问题,我们可以自定义一个组件来模拟弹窗,这样当跳转到Web页面时,Web内容会覆盖这个模拟的弹窗。首先,我们来看程序的入口代码。最外层使用了一个RelativeContainer容器组件,通过showAgreePrivacyPolicy变量控制隐私政策弹窗的显示状态。
2025-01-17 09:27:34
496
原创 【HarmonyOS NEXT】获取卸载APP后不变的设备ID
在HarmonyOS NEXT中,有一个 ****@ohos.security.asset (关键资产存储服务) ****的API【类似于iOS中的Keychain services】,有一个特殊属性 IS_PERSISTENT,该特性可实现,在应用卸载时保留关键资产,利用该特性,我们可以随机生成一个32位的uuid,存储到ohos.security.asset中。如果觉得上述源码方式集成到项目中比较麻烦,可以使用远程依赖的方式引入。UDID: deviceinfo.udid ,仅限系统应用使用。
2025-01-09 09:19:47
590
原创 DevEco Studio点击 不显示代码提示的原因
Softsuggestionsalphabetically按字母排列建议。Showsuggestionsasyoutype输入时显示建议。SmartTypeCompletion智能类型匹配补全。BasicCompletion基本补全。-找到codeCompletion(Matchcase匹配大小写。-点开General(常规)
2025-01-07 15:45:11
548
原创 第一次使用Git上传本地项目到github上
20221108记,现在不用这个方式了,改用token代替密码push代码了,token的获取请看这个新的博文:github报错(完美解决):获取token:https://blog.youkuaiyun.com/qq_40036754/article/details/127740947。如果你看不到,是因为它默认是隐藏文件,那你就需要设置一下让隐藏文件可见。然后通过==git add .==把该目录下的所有文件添加到本地仓库,注意点是用空格隔开的。这时桌面上就会出现一个文件夹,你可以将你的需要上传的文件拷贝进来。
2025-01-07 10:55:42
1162
原创 harmony中的Application
在鸿蒙(HarmonyOS)开发中,确保初始化完成后才打开页面,通常涉及到的生命周期管理和页面跳转的逻辑控制。由于鸿蒙OS的API和框架设计可能与Android或iOS有所不同,以下是一种基于鸿蒙开发环境的通用方法来实现这一目标:首先,你需要创建一个继承自(或类似基类,具体取决于你的应用类型,因为鸿蒙OS中可能使用不同的组件来承载页面)的自定义类(注意:鸿蒙中可能没有直接对应于Android中类的直接等价物,但可以通过类似的方式管理全局状态)。不过,在鸿蒙OS中,更常见的是使用或来管理页面和生命周期。这里,
2025-01-06 14:54:58
328
原创 Harmony tab的使用
Harmony tab的使用有点相似vue中的tabs,barposition是控制标题1和标题2在开始或结束位置显示,vertical是控制标题1和标题2横屏显示还是竖屏显示。
2025-01-05 15:58:26
216
空空如也
NestedScrollView开发包在那里
2021-07-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人