android光传感实现摩斯密码,根据莫尔斯代码 - Android的闪烁闪光。 如何避免ANR次数由于睡觉? (火炬APP)...

所以,我做了一个火把应用...正常火炬功能完全正常,没有任何问题。

下面介绍以下功能,可能会导致可能的ANR的说,我想通过闪烁的闪光灯发出SOS信息(莫尔斯电码)。 (其111-000-111),所以它开 - 开 - 开 - 关 - 关 - 和重复。

(慢慢读)我“开”是一小会儿,然后微微一晃,“开”再次 - 这是区分两个连续“开” S ......这就是我得到三个不同的闪烁。

麻烦的是,对于延时,我把线程睡眠。(这种方法的工作最适合我)

下面是我的示例功能,它闪烁出SOS:(我有一个SOS按钮,单独)

public void sos(View v) {

String myString = "111000111";

for (int x = 0; x < myString.length(); x++) {

if (myString.charAt(x) == '1') {

p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);

c.setParameters(p);

c.startPreview();

flag = true;

} else {

p.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);

c.setParameters(p);

flag = false;

}

try {

Thread.sleep(300);

} catch (InterruptedException e) {

e.printStackTrace();

}

p.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);

c.setParameters(p);

try {

Thread.sleep(300);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

p.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);

c.setParameters(p);

}

}

上述闪烁出SOS一次。 不过,虽然这闪烁,闪烁是怎么回事,我的应用程序被冻结了。 闪烁SOS是完美的。 但它并没有任何按钮点击,甚至后退按钮响应中途停止。

我认为这是因为线程(UI)正在睡觉,因此它并不关心用户正在做)......但肯定点击注册,如果按照到Android如果没有后在规定的看着的时间(我想了几秒钟)期...该应用程序进入ANR。

所以,我需要与我定义的间隔短暂的停顿(正如上面我用300毫秒)。 但我也想知道如何让应用同时响应说按钮点击或后退按钮按下,以避免ANR的,并给予用户关闭在任何时候闪烁的能力。

这个怎么做 ?

编辑 Waza_Be的解决方案:

好吧,这里是根据Waza_Be我修改的功能。 这个问题似乎是,它等待300毫秒(在我的情况)......但我有几个postDelay功能 - 因此,我认为它实际上是排队的所有功能于一体,与300毫秒的等待期是有些重叠。 这一时期结束后,所有的代码运行起来一次,使得它毫无意义。

当我尝试这样做,闪光灯闪烁而迅速,不与微妙的停顿和闪烁效果我想要的。

public void sos(View v) {

String myString = "111000111";

Handler handler = new Handler();

for (int x = 0; x < myString.length(); x++) {

if (myString.charAt(x) == '1') {

handler.postDelayed(new Runnable() {

public void run() {

p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);

c.setParameters(p);

c.startPreview();

}

}, 300);

} else {

handler.postDelayed(new Runnable() {

public void run() {

p.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);

c.setParameters(p);

}

}, 300);

}

handler.postDelayed(new Runnable() {

public void run() {

p.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);

c.setParameters(p);

}

}, 300);

}

p.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);

c.setParameters(p);

}

}

我需要单独暂停。 后或每TURN_ON或TURN_OFF为Flash之前说。 在每一个循环中,应该单独地等待在处理程序中运行每一段代码()。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/501423.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql select count 5万条数据很慢_mysql亿级数据数据库优化方案测试银行交易流水记录的查询...

点击上方△蓝字关注我们带你征服编程和泡妞两座大山对MySQL的性能和亿级数据的处理方法思考&#xff0c;以及分库分表到底该如何做&#xff0c;在什么场景比较合适&#xff1f;比如银行交易流水记录的查询限盐少许&#xff0c;上实际实验过程&#xff0c;以下是在实验的过程中做…

HTML的引用

<q></q>定义比较短的引用&#xff0c;直接加双引号 <blockquote cite"来源的网址"</blockquote>浏览器用缩进的形式显示该段文本 HTML5强调&#xff1a;语义与现实分离&#xff08;意思是说写好的东西普普通通&#xff0c;但是可以通过另外的…

html中如何让图片交错,HTML5/Canvas 光圈交错幻觉

JavaScript语言&#xff1a;JaveScriptBabelCoffeeScript确定// RequestAnimationFrame shim by Paul Irishwindow.requestAnimFrame (function() {return window.requestAnimationFrame ||window.webkitRequestAnimationFrame ||window.mozRequestAnimationFrame ||function(…

jvm垃圾回收机制_干货|JVM垃圾回收机制

前言不同于C程序员必须自己完成内存的分配、使用和释放&#xff0c;JAVA语言提供了垃圾回收机制(GC&#xff0c;Garbage Collection)&#xff0c;所以JAVA程序员仅需要负责分配和使用内存即可&#xff0c;而释放内存则由GC负责。这样程序员就从讨厌的内存管理的工作中脱身了。本…

HTML的格式化应用

<del></del>在文本中增加删除线,但是是非错误的内容 <ins></ins>在文本中增加下划线表示插入的内容 通常del和ins成双出现(删除线和插入线) <s></s>也是在文本中增加删除线&#xff0c;但是是错误的内容需要删除 <u></u>在…

html td装满图片,HTML:桌子上的Td不满

我使用引导程序并创建标题固定表和滚动高度。我想制作一张桌子&#xff0c;其中td将随着屏幕尺寸扩展。我在哪里错了&#xff1f;当我使用IE dev工具分析整个内容时&#xff0c;我看到&#xff0c;如果td高度不包含数据&#xff0c;则td高度将略小于表格(***我不想在td中固定高…

HTML的列表说明

<ul></ul>无序列表&#xff08;Unordered List&#xff09; <ol></ol>有序列表 (Ordered List) <li> 标签定义列表项目。 <li> 标签可用在有序列表 (<ol>) 和无序列表 (<ul>) 中 两个常用的CSS列表属性 CSS3帮助文档 li…

计算机考试网络应用题一定要做到ie浏览器,网络远程教育统考单项练习:计算机应用基础之Internet应用部分(二)...

计算机考试的分数提高离不开日常的练习&#xff0c;下面&#xff0c;就做几道Internet应用部分的题目练习和巩固一下吧&#xff01;1、在IE9浏览器中按地址栏后的“停止”按钮&#xff0c;浏览器将会______。A.中断正在浏览的web页的连接B.关闭该web页的页面C.关闭浏览器窗口D.…

javascript实现图片轮播_第2章 第9节 JavaScript(四)

● 知道哪些ES6&#xff0c;ES7的语法参考回答&#xff1a;promise&#xff0c;await/async&#xff0c;let、const、块级作用域、箭头函数● promise和await/async的关系参考回答&#xff1a;都是异步编程的解决方案● 问了一段js代码&#xff0c;输出结果是什么● js的数据类…

HTML的HTTP 中 GET 与 POST 的区别

99% 的人都理解错了 HTTP 中 GET 与 POST 的区别&#xff08;转&#xff09;转自&#xff1a;WebTechGarden 微信公众号GET 和 POST 是 HTTP 请求的两种基本方法&#xff0c;要说它们的区别&#xff0c;接触过 WEB 开发的人都能说出一二。最直观的区别就是 GET 把参数包含在 UR…

利用计算机可产生随机数,一种利用计算机生成随机数的方法

一种利用计算机生成随机数的方法(2012-07-16 23:22:33)标签&#xff1a;随机数函数数值计数器程序运行杂谈这里介绍一种利用计算机生成随机数的方法&#xff0c;微机都有系统计数器记录自运行开始以来的脉冲数&#xff0c;这是个规律变化的数字&#xff0c;只用它是不能产生随机…

python教材知乎_python大学里用哪本教材比较好?

看这本 英文好的话&#xff0c;不需要买书&#xff0c;看该书的英文电子版&#xff0c;免费的。 《How to Think Like a Computer Scientist- Learning with Python 3》 下载地址&#xff1a;https://github.com/pythonpeixun/article/blob/master/books/How%20to%20Think%20Li…

每天最重要的2小时

每天最重要的2小时 各位优秀的同学们&#xff0c;大家早上好&#xff01; 真的特别开心&#xff0c;我们还能继续相约YY空中平台一起学习。一个人走得快&#xff0c;一群人才能走得远。 我是来自一组的金鱼&#xff0c;就是那位拥有“七世记忆”的金鱼&#xff0c;原产地美…

html360度视角观赏,360度全景图是如何生成的?

360度全景图是如何生成的?360度全景图以其生动的交互和沉浸的体验&#xff0c;一直深受很多摄影爱好者的喜欢。不过对于普通的观赏者而言&#xff0c;这种可以360度自由观看的图片&#xff0c;还是具有神奇的魅力。今天&#xff0c;我就讲一讲一张360度全景图是如何生成的吧!普…

未结束的字符文字_PAT B1042:字符统计

题目描述&#xff1a;请编写程序&#xff0c;找出一段给定文字中出现最频繁的那个英文字母。输入格式&#xff1a;输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成&#xff0c;至少包含 1 个英文字母&#xff0c;以回车结束&#…

圣诞表白html,圣诞节表白,最浪漫的表白方式

圣诞节是一个浪漫的节日&#xff0c;红色的圣诞&#xff0c;白色的你们&#xff0c;再适合表白不过了。那么&#xff0c;圣诞节表白&#xff0c;最浪漫的表白方式有哪些呢?和小编一起来看看吧!圣诞节表白1.看着梦幻的圣诞彩灯说“我能喜欢你吗”冬夜绚丽彩灯下的告白&#xff…

怎么发朋友圈才是合适和得体的?

怎么发朋友圈才是合适和得体的&#xff1f; 怎么发朋友圈才是合适和得体的&#xff1f;这个问题估计困扰了不少人。其实你转换一下想法&#xff0c;你作为别人朋友圈的读者&#xff0c;希望看到的是什么内容&#xff1f; 1.这人最近在忙什么&#xff1f; 有没有可能合作。 …

python 3d绘图库_python – 用于科学3d绘图的Mayavi的替代品

在没有令人满意的第一个答案和无法解释的downvote之后编辑&#xff1a; 我需要绘制一个在3D网格中构造的标量字段,如下所示&#xff1a; import numpy as np from mayavi import mlab dt 10 X,Y,Z np.mgrid[0:dt,0:dt,0:dt] F X**2Y**2Z**2 test mlab.figure(size (1024,7…

GIS要学哪种计算机语言,做好一名ArcGIS开发人员所需要掌握的知识

一、 ArcGIS技术&#xff1a;掌握ArcGIS全系产品(ArcGIS Desktop,ArcGIS Server,ArcGIS Engine,ArcSDE,ArcGIS Android,ArcGIS Flex API,ArcGIS Silverlight API&#xff0c;ArcGIS JavaScript API)应用设计、开发、部署。RIA架构GIS技术体系&#xff1a;1、掌握ArcGIS API fo…

python数字转字符串_python如何将字符转换为数字

int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点数 complex(real [,imag ]) 创建一个复数 str(x ) 将对象 x 转换为字符串 repr(x ) 将对象 x 转换为表达式字符…