- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我以编程方式打开相机拍摄视频。我告诉相机使用如下代码将视频文件放到指定位置:
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
File out = new File("/sdcard/camera.mp4");
Uri uri = Uri.fromFile(out);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
startActivityForResult(intent, GlobalUtility.CAMERA_VIDEO);
它在 HTC 手机上运行良好。但在我的 moto defy 上,它只是忽略了 MediaStore.EXTRA_OUTPUT 参数,并将视频放到默认位置。然后我在 onActivityResult() 函数中使用这段代码来解决问题:
private String getRealPathFromURI(Uri contentUri) {
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(contentUri, proj, null, null, null);
int column_index = cursor
.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
String realPath;
try {
File file = new File("/sdcard/camera.mp4");
if (!file.exists()) {
Uri videoUri = data.getData();
realPath = getRealPathFromURI(videoUri);
}
} catch (Exception ex) {
Uri videoUri = data.getData();
realPath = getRealPathFromURI(videoUri);
}
希望这对其他人有帮助。
最佳答案
仅仅因为 /sdcard/
是一部手机和一个 Android 版本上的 sdcard 目录并不意味着它会保持一致。
您将要使用 Environment.getExternalStorageDirectory()
正如弗兰肯斯坦的评论所暗示的那样。这将始终用于获取 SD 卡的目录。
您还需要检查 SD 卡当前是否可安装,因为手机可能处于 USB 存储模式。
尝试类似...
if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
Log.d(TAG, "No SDCARD");
} else {
File out = new File(Environment.getExternalStorageDirectory()+File.separator+"camera.mp4");
}
关于java - 摩托罗拉 Android 2.2 相机忽略 EXTRA_OUTPUT 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8060534/
对于旧处理器,这可能是一个奇怪的问题,但我已经用 Java 编写了一个 Heathkit ET-3400A 微型计算机训练器的仿真。我添加了触发中断的能力,摩托罗拉 6800 数据表表明 I 标志(中
RTICTL 寄存器中的 RSWAI 位有什么作用? 最佳答案 我假设你已经阅读了文档,但如果你还没有...... RSWAI — RTI and COP Stop While in Wait Wri
我正在使用 Motorola LS1203 条码扫描仪并尝试将其连接到 Java 程序。 我可以通过模拟键盘的 USB 电缆让它工作,并且可以很好地打印到记事本,并且我可以捕获该信息,但 Java 程
我正在编写一个扫描条形码并将其显示到文本框的应用程序。我使用的是在 Windows Embedded compact 7.0 上运行的 Motorola MC3190 设备。为了实现条码扫描,我使用了
我在 Motorola MC 65(操作系统:Windows Mobile)中遇到磁条阅读器问题。如果我尝试打开 Reader,则会收到异常 MSR_Open MSR_Err_OpenFailure。
我们的应用程序显示相机预览,它似乎在所有手机上都能正常工作,但摩托罗拉 Droid 除外,在我们设置相机参数时出现运行时异常: java.lang.RuntimeException: setP
我正在尝试让我的摩托罗拉 MC3190 读取条形码。但不幸的是按下硬件扫描按钮后没有任何 react 。我将 EMDK 用于 .net 2.0 版。 这是我的代码: private void Form
我有一个应用程序可以打开 native 相机应用程序并获取拍摄的照片。我已经看到,当我的应用程序打开 native 相机应用程序时,它会杀死所有后台运行的应用程序(包括我的应用程序)。 此问题也在其他
我有一个摩托罗拉 LI4278 蓝牙扫描器,我已通过蓝牙连接到平板电脑。扫描仪设置为串行从站。我可以正常连接并读取数据。 但是,如果扫描的序列号无效,我想向用户提供某种反馈。根据 LI4278 文档:
我开发了一个小游戏,我的一个 friend /同事在他的摩托罗拉 Xoom 平板电脑上试了一下,结果发现渲染全乱了!我把所有东西都剥离下来,试图简化一切,看看哪里出了问题,我认为摩托罗拉 Xoom 在
我们的应用程序使用图库选择操作从设备中抓取图像以上传到新的博客文章。我们在 Moto Droid 上看到,纵向拍摄的图像以横向发送回应用程序,因此图像是横向的。据我所知,这只发生在 Droid 上。
我正在尝试使用 eclipse 中的 android SDK 为摩托罗拉 MC40 设备运行一个应用程序进行调试,但是当我在连接设备的情况下运行该应用程序时,该设备不会显示在 android 设备选择
我不是专家,只是一个爱好者。我以前玩过68000架构,一直在想它的TRAP指令。这条指令总是被描述为操作系统的“桥梁”(在某些系统中,但在这方面没有使用它,但这是另一回事)。这是如何实现的? TRAP
我有安装了 DataWedge 3.2.4 的摩托罗拉 MC55。我遇到的问题是条形码扫描速度非常慢,尤其是那些以“U”字母为前缀的条形码。我打开记事本并扫描条形码,文本显示非常缓慢(甚至在条形码键触
我在带有 EMDK 的安卓系统上使用摩托罗拉 MC40。当我扫描带有大写“О”(U041E) 等西里尔字母符号的 Data Matrix 代码时,函数 ScanData.getData() 返回带有字
我在使用摩托罗拉 Defy Plus 设备时遇到了一个奇怪的问题。 我得到了一个简单的布局,其中包含一个 ImageView 作为其中所有选项卡的背景图像的 TabHost。 由于某些奇怪的原因,特别
我无法让摩托罗拉 TC55 出现在 adb 中(使用 Mac OSX),他们的支持热线也没什么帮助。 我试过将供应商添加到 .ini 文件,我试过打开/关闭 USB 调试和开发选项。 我试过终止并重新
我想将 Motorola EMDK 中的 DataListener 实现到我的类中。如果我实现 DataListener,我的应用程序就会崩溃。 我的 Android list 如下所示:
我有一个使用 m3u8 流式传输实时视频的网站。它适用于 iOS 设备和 safari mac,但我还需要它才能在 motorola honeycomb xoom tablet version 3.1
我有几个关于前置摄像头设备支持的预览尺寸的问题。不确定我是否应该在这里问,但不确定我还能在哪里找到这个答案。与我正在创建的应用有关。 我的问题是,什么决定了支持的预览尺寸?是屏幕尺寸还是相机?大多数具
我是一名优秀的程序员,十分优秀!