问题标签 [android-4.3-jelly-bean]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2856 浏览

android - Android:将 Mediarecorder-Stream 保存为可播放文件

我想用我的安卓设备(Nexus 10)录制视频,然后上传到 youtube。

到目前为止,我正在使用 android MediaRecoder 录制并通过 LocalSocket 流式传输以将数据保存到多个文件中。但是文件不能播放。

我阅读了一些符合 API-Level 18 的文章,可以使用 MediaCodec 和/或 MediaMuxer 转换文件。我找到了这段代码,但我真的不明白如何处理它。

有没有人展示如何将原始数据从 LocalSocket 转换为可播放文件(即 mp4 文件)的简单示例?

我的 MediaRecoder 看起来像这样:

提前致谢。

0 投票
1 回答
125 浏览

android - HeaderTitle 未应用 values-ar/styles.xml 中的本地化样式

在我的 Android 应用程序中,我为阿拉伯语版本添加了组件,如下所示:

价值观-ar

在我定义的 styles.xml 中:

当我启动模拟器(使用阿拉伯语语言环境)时,文本对齐是正确的,但所有样式都设置为默认值。没有显示图像,它只是标准的灰色条。

values/styles.xml 的唯一区别是重力“左”。其他文件已复制。谁能告诉我我做错了什么?

0 投票
2 回答
2164 浏览

android - 如何将媒体商店中没有的音乐文件设置为铃声

在 Jelly Bean 18 级之前,我可以使用不在媒体存储中的音乐文件(例如,private文件夹中的 .mp3 文件包含.nomedia文件,因此 Media Scanner 不会扫描此文件夹并且不知道此文件)但来自 Android 4.3 (在 Nexus 4 上测试)我不能这样做,它只适用于媒体扫描仪已经扫描过的音乐文件。

这个问题的真正原因是我无法使用 MediaColumns 插入 ContentValues。DATA 是 Media Scanner 未扫描的文件的绝对路径,插入方法总是返回 null。

有没有人有解决方法来使用私人文件(未扫描且媒体扫描仪无法识别)作为铃声?

这是我设置铃声的方法:

0 投票
1 回答
2576 浏览

android - 使用相机应用意图在 Android 4.3 中捕获视频

如何通过使用 4.3 中的意图调用 Android 相机应用程序来捕获视频。我让它在 4.2 及以下版本中工作。甚至谷歌的样本也坏了。这是一个错误吗?或者谷歌改变了他们返回录制视频的方式。图像捕获仍然有效。

我仍然得到 RESULT_OK 回复,但 MediaStore.ACTION_VIDEO_CAPTURE 意图上的意图数据为空。

0 投票
1 回答
1217 浏览

android - 获取 Android 4.3 中的外部存储列表

我一直在扫描 /etc/vold.fstab 以获取外部存储列表。在 Google 删除该文件之前,它工作正常,直到 Android 4.3。我知道现在使用了一个统一的 /fstab.* 文件,但是没有 root 就无法访问。

那么在 Android 4.3 中,我应该怎么做才能获得外部存储列表呢?

我的代码看起来像这样。现在它包括不可移动的内部和可移动的外部存储。

0 投票
1 回答
4890 浏览

java - Android 4.3 HTTPUrlConnection + 基本身份验证 - 未发现身份验证挑战

我在 HttpURLConnection 上使用基本身份验证来获取一些数据。直到 4.2 这工作得很好,但是在 Nexus 4 上使用 4.3 我得到一个java.io.IOException: No authentication challenge found when querying the response code。奇怪的是,当我在 4.3 模拟器上运行相同的代码时,并没有出现问题。

我尝试了这里提到的解决方案,但没有运气:Android Jelly Bean 4.1 上的 HTTP Basic Authentication issue using HttpURLConnection

代码:

痕迹:

0 投票
1 回答
1665 浏览

android - 升级到 4.3 后的 ScreenshotClient 错误

我开发了一个ScreenshotClient用于捕获设备屏幕的本机进程(仅限有根设备) 我有一个循环,ScreenshotClient每个update()循环都在其中。在 4.3 之前一切正常。当我在 4.3 上运行它时,第一次调用 update 成功,但在第二次调用中,调用结果是 -2 ,我在 logcat 中收到这些错误:

知道导致此问题的 4.3 中发生了什么变化,或者这些错误意味着什么。

我的代码大致如下:

0 投票
1 回答
672 浏览

java - 带有 SQLite 的 Android 应用程序在 ICS 中运行,但在 Jelly Bean 中不运行 - IllegalStateException

我为 Android 开发了一个应用程序,它将汽车加油信息存储在 SQLite 数据库中。在我的 4.0.3 手机和 4.0.3 AVD 上似乎一切正常,但我希望它也能在 Jelly Bean 和更新版本中工作。该应用程序确实没有做任何非常复杂的事情。当我在模拟的 Jelly Bean 设备中启动应用程序时,我收到一个 FATAL EXCEPTION 错误:

09-05 01:45:40.311: W/dalvikvm(1062): threadid=1: 线程以未捕获的异常退出 >(group=0x414c4700) 09-05 01:45:40.331: E/AndroidRuntime(1062): 致命异常:主要 09-05 01:45:40.331: E/AndroidRuntime(1062): java.lang.RuntimeException: 无法启动 >activity ComponentInfo{ard.util.fueltracker/ard.util.fueltracker.TitleScreenActivity}: >java.lang. IllegalStateException:尝试重新打开已经关闭的对象:>SQLiteDatabase:/data/data/ard.util.fueltracker/databases/vehicleDatabase 09-05 01:45:40.331: E/AndroidRuntime(1062): at >android. app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)

在我在谷歌的初始搜索中,我以为我遇到了实例问题,所以我在这里遵循方法#1(http://www.androiddesignpatterns.com/2012/05/correctly-managing-your-sqlite-database.html),但是这似乎没有什么不同。仍然可以在 ICS 中使用这些更改。

这是我的 TitleScreenActivity 中的代码:

这是我的 DatabaseHandler 类:

其中一些可能看起来很丑 - 这是我的第一个应用程序项目,Eclipse 在创建时自动填充了一些方法 - 但它在 Ice Cream Sandwich 中运行良好。

感谢您提供任何线索。

0 投票
16 回答
142459 浏览

android - IOException:读取失败,套接字可能关闭 - Android 4.3 上的蓝牙

目前,我正在尝试使用 Android 4.3(构建 JWR66Y,我猜是第二个 4.3 更新)在我的 Nexus 7(2012)上打开 BluetoothSocket 时处理一个奇怪的异常。我看过一些相关的帖子(例如https://stackoverflow.com/questions/13648373/bluetoothsocket-connect-throwing-exception-read-failed),但似乎没有一个可以解决这个问题。此外,正如这些线程中所建议的那样,重新配对并没有帮助,并且不断尝试连接(通过愚蠢的循环)也没有任何效果。

我正在处理一个嵌入式设备(一个无名 OBD-II 汽车适配器,类似于http://images04.olx.com/ui/15/53/76/1316534072_254254776_2-OBD-II-BLUTOOTH-ADAPTERSCLEAR-CHECK-ENGINE-灯 - ​​用你的手机 - Oceanside.jpg)。我的 Android 2.3.7 手机连接没有任何问题,同事的 Xperia(Android 4.1.2)也可以。另一个 Google Nexus(我不知道是“One”还是“S”,但不是“4”)在 Android 4.3 上也失败了。

这是连接建立的片段。它在自己的线程中运行,在服务中创建。

代码在bluetoothSocket.connect(). 我得到一个java.io.IOException: read failed, socket might closed, read ret: -1. 这是GitHub上对应的源码:https ://github.com/android/platform_frameworks_base/blob/android-4.3_r2/core/java/android/bluetooth/BluetoothSocket.java#L504 它通过readInt()调用,从https调用://github.com/android/platform_frameworks_base/blob/android-4.3_r2/core/java/android/bluetooth/BluetoothSocket.java#L319

使用的套接字的一些元数据转储导致以下信息。这些在 Nexus 7 和我的 2.3.7 手机上完全相同。

我有一些其他的 OBD-II 适配器(更多扩展),它们都可以工作。有没有机会,我遗漏了什么,或者这可能是 Android 中的错误?

0 投票
0 回答
574 浏览

android - TabHost 和 TabSpec 的替代方法来检测 onClick

在 Android 应用程序(sdk min 11,target 18)上,作为主导航小部件,我使用了 TabHost 和 4 个项目(TabSpec)。我的应用程序需要能够检测到何时单击某个项目 -即使单击了两次相同的项目。OnTabChangeListener 不适合这种情况,我惊讶地注意到 TabHost 和 TabSpec 都没有 onClick 侦听器。

  1. 我是否使用了错误的小部件来检测此类事件?
  2. 有什么选择吗?