首页 > 其他分享 >Delphi10.4 Android调用相机返回图片调试

Delphi10.4 Android调用相机返回图片调试

时间:2023-11-08 22:01:36浏览次数:41  
标签:Delphi Standard 相机 Delphi10.4 Action Android 权限 调试

Delphi10.4 Android调用相机返回图片调试

使用Delphi封装的“Standard Action”这些标准操作,可以非常方便我们调用Android系统功能。

在Android上会存在各类权限问题造成应用无法运行

创建工程

 File->New -> Multi-Device Application - Delphi

Delphi10.4 Android调用相机返回图片调试_Android

选择" Blank Application",点击"OK"完成工程创建

Delphi10.4 Android调用相机返回图片调试_Standard Action_02

拖入控件

放入一个TButton,一个TImage,一个TActionList

Delphi10.4 Android调用相机返回图片调试_Standard Action_03

使用鼠标双击ActionList1图标,弹出窗口"Editing Form1.ActionList1", 在Categories:列表下右键选择"New Standard Action..."

这里“Standard Action”Delphi封装了一些标准操作,我们选取过来用即可。


Delphi10.4 Android调用相机返回图片调试_Standard Action_04

在“Standard Action Classes”选择TTakePhotoFromCameraAction,双击或下方OK将其添加到ActionList1中

Delphi10.4 Android调用相机返回图片调试_Standard Action_05

给添加到TakePhotoFromCameraAction1的操作重新定义一个文本“调起相机” 

Delphi10.4 Android调用相机返回图片调试_Standard Action_06

编写代码

在TakePhotoFromCameraAction1的事件OnDidFinishTaking里添加代码

 Image1.Bitmap.Assign(Image);

将调起相机拍照成功后将图片显示在Image1控件上

Delphi10.4 Android调用相机返回图片调试_Delphi_07

Delphi10.4 Android调用相机返回图片调试_Standard Action_08

工程设置

Project->Options...检查应用权限

Delphi10.4 Android调用相机返回图片调试_Delphi_09

Delphi10.4 Android调用相机返回图片调试_Android_10

下面这里很重要,默认工程的“Secure File Sharing”为False需要改为true,不然生成的apk即使手机给了存储及相机的权限也一样提示错误没权限等

Delphi10.4 Android调用相机返回图片调试_Delphi_11

设置完后将apk安装到手机,点击“调起相机“会报错”Required permission(s) [CAMERA,WRITE_EXTERNAL_STORAGE] hav not been granted“ 权限不足

Delphi10.4 Android调用相机返回图片调试_Standard Action_12

手机设置权限

这里以小米10为例,需要给应用"读写手机存储"及“相机”这两项权限

Delphi10.4 Android调用相机返回图片调试_Delphi_13

Delphi10.4 Android调用相机返回图片调试_Standard Action_14Delphi10.4 Android调用相机返回图片调试_Delphi_15Delphi10.4 Android调用相机返回图片调试_Standard Action_16

重新尝试,成功

Delphi10.4 Android调用相机返回图片调试_Camera_17

调试错误

默认工程的“Secure File Sharing”为False时遇到错误

Delphi10.4 Android调用相机返回图片调试_Android_18Delphi10.4 Android调用相机返回图片调试_Standard Action_19




标签:Delphi,Standard,相机,Delphi10.4,Action,Android,权限,调试
From: https://blog.51cto.com/u_12668715/8260330

相关文章

  • 正则可视化在线工具-更直观地理解和调试正则表达式的利器
    在工作和学习中,正则表达式是一种强大的工具,用于处理和分析文本数据。它可以帮助我们在海量数据中快速搜索、匹配和提取所需的信息。然而,正则表达式的语法复杂,很多人在编写和调试时可能会遇到困难。为了解决这个问题,我决定自己编写一个正则工具。这个工具旨在提供一个直观且用户友好......
  • Android 实现加减自定义控件
    ✍️作者简介:沫小北/码农小北(专注于Android、Web、TCP/IP等技术方向)</br>......
  • 2023-11-08 Android studio下载的模拟器存放路径以及如何修改存放路径 ==》默认路径:C:
    模拟器存放默认路径:C:\Users\Administrator\.android\avd如何修改:设置一个系统变量,如图,点击Help==》EditCustomProperties 然后再弹出的文本框里输入你要存放的路径,比如我存在D盘的adv文件夹里面ANDROID_AVD_HOME=D:\\adv 我的as版本:2022.3.1Patch3 写到最后:c盘......
  • VS 在 Release 模式下使用断点调试程序
      修改方法:项目属性--》c/c++--》常规--》调试信息格式选择程序数据库(默认:无)项目属性--》c/c++--》优化--》优化选择已禁用(默认:优化)项目属性--》链接器--》调试--》生成调试信息选择优化以便于调试(默认:......
  • Android.mk 笔记
    相关函数makefile文件里的函数跟变量的使用方法很相似,都是用一个$符号跟左括号,函数名,空格后跟一列由逗号分隔的参数,最后用右括号回括(1)strip函数名称:去空格函数-strip功能:去掉<string>字串中开头和结尾的空字符串,并将中间的多个连续空字符(如果有的化)合并未一个空字符。返回......
  • android短视频开发,uniapp页面滚动条到指定位置
    android短视频开发,uniapp页面滚动条到指定位置#html指定位置<viewclass="gap_body_position"></view> #js执行this.$nextTick(()=>{  //一定要用nextTickuni.pageScrollTo({duration:300,selector:'.gap_body_position'});})​以上就是android短视频开发,uniapp页......
  • android 12 修改Launcher3 app hotseat 图标形状为圆角图标
    1.概述在对11.0产品开发中,对于Launcher3做各种定制化开发,也是常见的,最近有功能需求要求,对于修改图标的形状为圆角图标,而在Launcher3中,所有的app和hotseat都是由BubbleTextView负责构建的,所以对于图标的修改也是要从BubbleTextView.java修改的在这里插入图片描述2.修改Launcher......
  • Net 高级调试之六:对象检查之值类型、应用类型、数组和异常的转储
    一、简介今天是《Net高级调试》的第六篇文章。记得我刚接触Net框架的时候,还是挺有信心的,对所谓的值类型和引用类型也能说出自己的见解,毕竟,自己一直在努力。当然这些见解都是书本上的,并没有做到眼见为实,所以总是有些东西说不清楚。今天,我们就好好的说说C#的类型,是从......
  • 如何看待Android的Jetpack这一系列库?
    如何看待Android的Jetpack这一系列库?随着移动领域的飞速发展,越来越多的工程师开始追求更高效率更便捷的开发模式,各种框架架构层出不穷,比如我们很熟悉的MVC、MVP、MVVM,而每种开发模式都有各自的优缺点,为了统一开发规范,Google推出了Jetpack。Jetpack是一个由多个库组成的套件,可帮助......
  • 都在唱衰Android,事实真的是这样吗?
    Android开发现状目前,移动开发已经处于饱和的阶段,Android开发也不如当年盛况,已经不再像前几年前那么火爆。以前是只要你会Android四大组件的都是个香饽饽,那样的时代已经过去了,随着人机交互的体验要求,App的用户体验的要求、流畅度等等,已经不可同日而语。在这样的大环境下,那么对我们的......