佛山网站建设公司排行,丹东有做公司网站的吗,山西企业模板建站,wordpress 根据id获取分类名称所以#xff0c;我做了一个火把应用...正常火炬功能完全正常#xff0c;没有任何问题。下面介绍以下功能#xff0c;可能会导致可能的ANR的说#xff0c;我想通过闪烁的闪光灯发出SOS信息(莫尔斯电码)。 (其111-000-111)#xff0c;所以它开 - 开 - 开 - 关 - 关 - 和重复…所以我做了一个火把应用...正常火炬功能完全正常没有任何问题。下面介绍以下功能可能会导致可能的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之前说。 在每一个循环中应该单独地等待在处理程序中运行每一段代码()。