Articles of android hardware

android.hardware.Camera $ EventHandler.handleMessage

我正在编写一个程序,我正在拍摄照片,然后想要将图片存储到SD卡中,最后尝试调整现有图像的大小(然后用旧图像重写)。 我的代码几乎可以在所有设备上正常工作,但仅在三星设备上遇到此问题。 当我捕捉图像时,我无法将图像存储到SD卡中 logcat的: 12-05 18:23:15.407: E/AndroidRuntime(2378): FATAL EXCEPTION: main 12-05 18:23:15.407: E/AndroidRuntime(2378): java.lang.NullPointerException 12-05 18:23:15.407: E/AndroidRuntime(2378): at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:461) 12-05 18:23:15.407: E/AndroidRuntime(2378): at com.example.kdh.TakePhotoActivity$1.onPictureTaken(TakePhotoActivity.java:325) 12-05 18:23:15.407: E/AndroidRuntime(2378): at android.hardware.Camera$EventHandler.handleMessage(Camera.java:789) 12-05 18:23:15.407: E/AndroidRuntime(2378): at android.os.Handler.dispatchMessage(Handler.java:99) 12-05 18:23:15.407: E/AndroidRuntime(2378): at android.os.Looper.loop(Looper.java:137) 12-05 18:23:15.407: E/AndroidRuntime(2378): at android.app.ActivityThread.main(ActivityThread.java:4921) 12-05 18:23:15.407: E/AndroidRuntime(2378): at java.lang.reflect.Method.invokeNative(Native Method) 12-05 18:23:15.407: E/AndroidRuntime(2378): at java.lang.reflect.Method.invoke(Method.java:511) […]

获取连接音频设备列表的android api是什么?

我使用下面添加的代码来获取Android设备的连接音频设备。 使用了AudioManager api方法getDevices()并通过耳机,扬声器,耳机等连接设备获得了结果。 但是这个getDevices()方法仅在android api level 23(Marshmallow)之后可用。 但我的应用程序应该支持api level 21(Lollipop)。 请任何人都可以告诉我替代api获取Android设备的可用音频设备。 与api级别23一起使用的代码。 AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) { AudioDeviceInfo[] adi = audioManager.getDevices(AudioManager.GET_DEVICES_OUTPUTS); } 请帮助我为Marshmallow(api level 23)下的Android OS版本运行的设备提供连接的音频设备。

Camera2 API中的Camera.PreviewCallback等价物

在API 21中,Camera2中的Camera.PreviewCallback是否有任何等效物,比映射到SurfaceTexture并拉出位图更好? 我需要能够以YUV的forms从相机中提取预览数据吗?

如何在Camera2 API Android 5.0中获得单个预览框架?

我正在尝试使用Camera2 API获取QR码扫描function的预览框架 。 在旧的Camera API中,它很简单: android.hardware.Camera mCamera; … mCamera.setPreviewCallback(new Camera.PreviewCallback() { @Override public void onPreviewFrame(byte[] data, Camera camera) { // will be invoked for every preview frame in addition to displaying them on the screen } }); 但是,我找不到使用新 Camera2 API实现这一目标的方法。 我想收到多个我可以处理的帧 – 最好的是接收旧API中的字节数组。 任何想法如何做到这一点?

如何获得Android应用程序的最低硬件要求

我与一些团队成员开发了一个Android应用程序,通过移动收集现场数据。 现在这个应用程序将投入生产。 所以普通人会使用这个应用程序。 我们还需要创建一个文档来解释我的android应用程序中引入的所有内容以及运行此应用程序的最低硬件要求是什么,没有错误。 现在我怎么知道什么是最低硬件要求。 基本上在我的应用程序中有四个TextField ,Three Spinner , Date , EditText和两个ImageView 。 所以我怎么知道运行这个应用程序的最低内存要求是什么。 我在其中一个移动设备中尝试了这个应用程序,其中几乎所有内存都被其他应用程序使用。 我的应用程序无法捕获照片。 当我删除一些应用程序然后我的应用程序工作正常。 这就是为什么我想知道运行我的应用程序的最低内存要求是什么。

使用Android APK 2.2打开硬件加速(如果可用)(例如Android 3+)

我开发了一个Android 3.0的应用程序,它运行得很好,但客户端坚持与2.2设备的兼容性。 禁用硬件加速,使用Android兼容包,NIO-backport支持(对于任务和执行程序)和一些View方法的重新实现我能够移植我的Android 2.2应用程序并且工作得非常好,但是如果我将这个apk运行到更新的设备的性能非常慢,所以我想知道如何启用硬件加速,但仍然使用我的2.2 APK。

android无法在广告素材标签中使用hdmi,并且需要在插入hdmi时立即通知所有(最多)设备

可能是android中hdmi支持的副本。 我正在研究XYZvideo加密app.But需要管理hdmi也要克服加密的video陷阱。 根据我的搜索,我发现这些不在官方文档中,并且由特定供应商Api提供,如摩托罗拉 。 我已经进行了很多探索,并发现这些是特定于供应商的,没有唯一的api或文档来满足所有设备的需求。 我的设备是: Creative ziio 7 OS:2.2.1版本号:v2.00.13-FROYO。 但请通过谷歌白皮书或您的个人经验建议并回答以下问题: 如果某个Android设备具有hdmi硬件支持,那么我们如何以编程方式检测它。 如果设备支持硬件。 然后,如果连接到hdmi我的应用程序需要通知有关。 (比如使用接收器等)。 我也无法将Creative ziio 7中的hdmi与hdmi cable(AWM 1.3电缆)连接到我的hp notebook pro笔记本电脑 我注意到某些供应商提供像MOTOROLA这样的hdmi api http://developer.motorola.com/docs/motorola-hdmi-status-api/ 我们还可以使用在所有设备中检测USB插头状态 那么hdmi还有什么办法吗 ? 但是需要有一个通用的概念来为所有设备做同样的事情。

eglMakeCurrent EGL_BAD_ALLOC失败

我继续收到此错误报告 Fatal Exception: java.lang.IllegalStateException eglMakeCurrent failed EGL_BAD_ALLOC android.view.HardwareRenderer$GlRenderer.createSurface 在我在Play商店的应用程序上。 导致此次崩溃的原因是什么? 以下是完整的错误日志。 java.lang.IllegalStateException: eglMakeCurrent failed EGL_BAD_ALLOC at android.view.HardwareRenderer$GlRenderer.createSurface(HardwareRenderer.java:1354) at android.view.HardwareRenderer$GlRenderer.createEglSurface(HardwareRenderer.java:1241) at android.view.HardwareRenderer$GlRenderer.initialize(HardwareRenderer.java:1058) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1811) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1235) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6472) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:803) at android.view.Choreographer.doCallbacks(Choreographer.java:603) at android.view.Choreographer.doFrame(Choreographer.java:573) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:789) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:157) at android.app.ActivityThread.main(ActivityThread.java:5356) at java.lang.reflect.Method.invokeNative(Method.java) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081) at dalvik.system.NativeStart.main(NativeStart.java)

Android logcat只logging真实设备上的信息级别。 无法获得debugging消息,甚至没有未处理的exception

我为Android开发了一段时间,到目前为止,我没有任何问题logcat。 到目前为止,我有新的手机开发,华为Y300(Y300-0100)和logcat没有来自DEBUG级别的消息。 这是问题,因为我没有得到exception堆栈跟踪打印。 我必须使用模拟器,你明白,这是烦人的.. 到目前为止,我知道了这一点: 从: Log.v("TEST VERBOSE", "verbose level"); Log.d("TEST DEBUG", "debug level"); Log.i("TEST INFO", "info level"); Log.w("TEST WARN", "warn level"); Log.e("TEST ERROR", "error level"); Log.wtf("TEXT WTF", "?? level"); 只有这样印: INFO/TEST INFO(21224): info level WARN/TEST WARN(21224): warn level ERROR/TEST ERROR(21224): error level 在模拟器上,当然都是打印的。 在以前的手机上,没有问题(华为G300和中兴Blade)。 我一直在寻找解决scheme,并没有find任何。

如何模拟Android模拟器上的硬件媒体控制button

Android支持耳机和连接设备上的硬件播放/暂停button。 我正试图find一种方法来testing模拟器上的这些设备的支持。 Android文档讨论了如何添加对硬件播放控件的支持,但不幸的是,我找不到如何模拟它们的文档。 谢谢!