Android Camera.takePicture失败了

作为一个学习练习,我正在编写一个安全应用程序,当发生任意事件时,需要打开相机,拍照并关闭相机,而不必担心闪光,对焦或显示预习。 我跟着在线演示并制作了一个可以拍照的工作应用程序,但它使用预览和所有这些。 所以我开始努力让它在没有预览的情况下工作。 无论如何,我不断得到’takePicture failed’exception,而且我没有任何世俗的想法。 我希望有更多使用Camera API经验的人可以看看并指出我的解决方案。 以下是我的相关文件。 我正在使用最新的Android Studio并在Galaxy S4上进行测试。 [MainActivity.java] package com.g5digital.cam2; import android.content.pm.PackageManager; import android.hardware.Camera; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.Toast; import java.io.IOException; public class MainActivity extends ActionBarActivity implements View.OnClickListener { private static final String TAG = “MainActivity”; private Button […]

使用Java访问父类的每个子类

我必须实现一个逻辑,给定一个子类,我需要访问它的父类和该父类的所有其他子类,如果有的话。 我没有在Java Reflection中找到任何允许我们访问父类的所有子类的API。 有什么办法吗? 例如: class B extends class A class C extends class A 现在使用B类,我可以通过调用getSuperClass()来找到超类。 但是,有了父类,即B类和C类,有没有办法找到所有的子类?

平板电脑可以拨打电话 (电话)

我在清单中有权限: 检查电话是否正在使用的代码可能会为平板电脑等无法接听电话的设备启动安全例外。 所以,我用这个方法来检查设备是否可以使用TelephonyManager: private boolean doesUserHavePermission(){ PackageManager pm = getPackageManager(); final boolean deviceHasPhone = pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY); return deviceHasPhone; } 在我实际检查是否收到呼叫的代码中,我输入了一个if语句来查看设备是否有电话: private PhoneStateListener phoneStateListener = new PhoneStateListener() { @Override public void onCallStateChanged(int state, String incomingNumber) { if (doesUserHavePermission()) { //I ADDED THIS if (state == TelephonyManager.CALL_STATE_RINGING) { onPhoneCallInterrupt(); //Method I made that mutes audio for phone call […]

我将如何向Activemq发送消息

我从不在JMS工作。 最近我在所有conf/activemq-*.xml文件中下载了Activemq并将端口号从61616更改为61617.I从命令提示符运行以下命令并在浏览器上打开控制台页面。 C:\Users\Infratab Bangalore\Desktop\Queueing\apache-activemq-5.8.0\bin>activemq 现在我想使用JMS将消息从java代码发送到Activemq 。为此,我编写了以下代码。 并使用Apache Tomcat server.it运行我的代码 此代码在Eclipse中实现。 package PackageName; import java.io.IOException; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Queue; import javax.jms.Session; import javax.jms.TextMessage; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.activemq.ActiveMQConnectionFactory; public class MessageProducer extends HttpServlet { @Override protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException { try { //created ConnectionFactory […]

ClassCastException:ArrayList不能转换为String

我收到此错误: java.lang.ClassCastException:java.util.ArrayList无法强制转换为java.lang.String 这是代码: public static Listproduit_cart(ArrayList l) { Listre=new ArrayList(); Listl4=new ArrayList(); re=(List) l.get(0); for(int i=1;i<l.size();i++) { l4=new ArrayList(); for(int j=0;j<re.size();j++) { for(int k=0;k<((ArrayList)l.get(i)).size();k++) { l4.add(re.get(j) + " " + (String)((ArrayList)l.get(i)).get(k)); } } re=new ArrayList(); for(int m=0;m<l4.size();m++) { re.add(l4.get(m)); } } return re; } 问题出在这一行: l4.add(re.get(j)+” “+(String)((ArrayList)l.get(i)).get(k)); 我试着把它重写为: l4.add(re.get(j)+” “+((ArrayList)l.get(i)).get(k)); 但它不起作用。 我该怎么办 ?

为什么不打印此例外? 为什么会出现错误?

如果我试图打印“a”的值,为什么显示错误? 为什么exception会成为错误? class Ankit1 { public static void main(String args[]) { float d,a; try { d=0; a=44/d; System.out.print(“Its not gonna printed”+a); //if Exception not occurs then it will print and it will ot goto catch block } catch(ArithmeticException e) { System.out.println(“Print hoga”+a);//why error come?? } } }

将外部JAR添加到Openshift

我有一个非常基本的Java Web应用程序(使用Eclipse openshift插件创建)。 该应用程序在OpenShift服务器上运行良好。 现在我需要使用外部JAR库在Java中进行JSON解析和创建。 我无法理解如何将这个JAR添加到openshift服务器。 我去了项目属性>> BuildPath >>添加外部JAR 。 虽然这确实导入了JAR,但它在openshift服务器上不起作用并且提供了与该文件的导入相关的错误( NoClassDefFound ,我猜)。 你能告诉我如何将外部jar子导入openshift项目吗?

返回基础知识:Apache Camel路由和直接组件

我对Camel路线及其两个端点感到困惑:Direct和Seda。 好吧,假设我有这样一条路线: public void configure() { from(“direct:services”) .process(//Some processing here) .to(“http://ThirdPartyServers”) } 除此之外,我有一个restWeb服务,它接收多个请求,进行一些处理,然后将消息移交给此路由以从某些第三方服务器获得响应。 我通过Spring框架实例化了Camel Context,如下所示: 现在的问题是,我立即向这条路线发送了多条不同的消息。 现在Camel文档说直接组件在单线程中调用并且是同步的。 那么所有的消息会同时处理还是一个接一个的处理会发生? 此外,如果我将直接组件更改为seda,它会有任何区别吗? TIA 更新[在Petter的回答之后] :尽管Petter的回答已经澄清,但我对同样的Direct和Seda组件有了新的疑问。 让我们说我的路线现在是这样的: public void configure(){ from(“direct:services”) .choice() .when(“some predicate here-Predicate1”) .to(“seda:predicate1”) .otherwise() .to(“seda:fallback”) .end(); from(“seda:predicate1”) .process(“some processing”) .to(“http://ThirdPartyServers”); from(“seda:fallback”) .process(“some processing”) .to(“jms:fallbackqueue”); } 现在,如果我向不同线程的直接组件发送5条消息,那么这些消息将同时处理。 正如您在上面的路由中看到的,直接组件将消息发送到seda组件。 那么现在只有一个seda组件的线程将处理所有不同的5条消息? 最后的含义是什么消息将被逐个处理?

使用Unicode(Java)访问/更改JEditorPane的html加载元素+ HTMLEditorKit问题

这将是一个很长的问题,所以忍受我:) 我的应用程序 我正在开发一个Java(带有JFrame GUI)桌面应用程序,它执行以下操作: 扫描(.txt)文件。 从这些文件中解析一些数字,对它们执行一些计算,最后将结果存储在String变量中。 以特殊(表格)格式输出这些数字。 (注意:格式包括一些Unicode(阿拉伯语)字符。) 问题 前两部分进展顺利。 但是,当我来到第3部分(格式化输出)时,我不知道如何显示这种特殊格式,所以, 在Java中显示特殊格式化输出(表)的最佳方法是什么? 注意: Formatter 不会提供帮助,因为它没有对表的适当支持。 解决方案一: 我做了我的研究,发现我可以使用JEditorPane,因为它可以显示特殊格式,如“html”。 所以我决定用所需的(表格)格式创建一个“html”页面,然后在[JEditorPane] [4]上显示这个页面。 我这样做了,它顺利进行,直到我想将一些html元素的值更改为那些(.txt)文件中的解析数字。 如何访问html元素(例如 )并更改其值? 请注意,使用setPage(url)在JEditorPane中加载(.html setPage(url) 。 Unicode字符显示正常,但我无法更改某些元素值(例如,我想将 000,000,000 的值更改为 MainController.getCurrentTotalPayment() 解决方案二: 我找到了一个解决方法,涉及使用HTMLDocument和HTMLEditorKit,这样我就可以从头开始使用HTMLEditorKit创建(.html)并使用kit.insertHTML在JEditorPane上显示它。 我已经使用上面的方法成功添加了内容,并且我还能够从(.txt)文件中添加解析后的数字,因为我将它们存储在my(MainController)类中。 不幸的是,Unicode阿拉伯字符未正确显示。 如何正确显示这些Unicode字符? 所以第一个解决方案缺乏对html元素的访问权限,第二个解决方案缺乏Unicode支持! 我的同事建议我在html文档中使用JSP代码,该代码可以访问我的MainController.java类。 因此,将页面加载到JEditorPane中已经更改了html元素。 没有JSP的帮助,有没有办法做到这一点? 其他人推荐使用JTidy,但是在Java的JDK中没有办法吗? 我对所有可能的解决方案持开放态度。 请帮忙。 我的代码: 省略了一些代码内容,因为它们不相关 MainController.java class MainController { private static String currentTotalPayment; public static void main(String[] […]

使用非常规方案获取重定向请求的最终URL

我的代码(下面)尝试从服务器返回的最终URL进行一些重定向。 只要URL具有http方案,它就可以正常工作。 当我想要返回具有不同方案的URL时,我的问题出现了。 最终,我希望在某些情况下返回market:// url或其他应用程序启动方案,因为这是针对Android的,我想要与它们一起启动Intent。 所以这让我得到了最终的http url,但是当最终的url是market://它会抛出看到的exception(java.lang.IllegalStateException:Scheme’market’未注册),然后getURI不提供那个,它会提供之前的任何东西。 DefaultHttpClient client = new DefaultHttpClient(); HttpContext httpContext = new BasicHttpContext(); HttpGet httpGet = new HttpGet(mInitialUrl); try { client.execute(httpGet, httpContext); } catch (IllegalStateException e) { e.printStackTrace(); } // Parse out the final uri. HttpHost currentHost = (HttpHost) httpContext.getAttribute(ExecutionContext.HTTP_TARGET_HOST); HttpUriRequest req = (HttpUriRequest) httpContext.getAttribute(ExecutionContext.HTTP_REQUEST); return (req.getURI().isAbsolute()) ? req.getURI().toString() : (currentHost.toURI() […]