这是我播放录制的音频3gp文件的代码
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
Uri data = Uri.parse(path);
intent.setDataAndType(data, "audio/mp3");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
但是在我的HTC设备(Android 2.2 Froyo)中运行它时会显示异常:
05-04 16:37:37.597: WARN/System.err(4065): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=/mnt/sdcard/mnt/sdcard/audio-android.3gp typ=audio/mp3 }
05-04 16:37:37.597: WARN/System.err(4065): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1567)
05-04 16:37:37.597: INFO/ActivityManager(92): Starting activity: Intent { act=android.intent.action.VIEW dat=/mnt/sdcard/mnt/sdcard/audio-android.3gp typ=audio/mp3 }
05-04 16:37:37.607: WARN/System.err(4065): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1537)
05-04 16:37:37.607: WARN/System.err(4065): at android.app.Activity.startActivityForResult(Activity.java:2858)
05-04 16:37:37.607: WARN/System.err(4065): at android.app.Activity.startActivity(Activity.java:2964)
05-04 16:37:37.607: WARN/System.err(4065): at com.ey.camera.AudioRecorder.playAudio(AudioRecorder.java:244)
05-04 16:37:37.607: WARN/System.err(4065): at com.ey.camera.AudioRecorder$4.onClick(AudioRecorder.java:225)
05-04 16:37:37.607: WARN/System.err(4065): at android.view.View.performClick(View.java:2408)
05-04 16:37:37.607: WARN/System.err(4065): …Run Code Online (Sandbox Code Playgroud) 我之前使用过hierarachyviewer,但在android模拟器上.当我在模拟器上使用它时,它工作得非常好.但是它不适用于搭载Android 2.3.4的三星Galaxy TAB 7.0.
这是我得到的日志
11:04:22 E/hierarchyviewer: Unable to get view server version from device 303599
64881B00EC
11:04:22 E/hierarchyviewer: Unable to get view server protocol version from devi
ce 30359964881B00EC
11:04:24 E/hierarchyviewer: Unable to debug device 30359964881B00EC
11:05:05 E/hierarchyviewer: Unable to get view server version from device 303599
64881B00EC
11:05:05 E/hierarchyviewer: Unable to get view server protocol version from devi
ce 30359964881B00EC
11:05:07 E/hierarchyviewer: Unable to debug device 30359964881B00EC
11:09:38 E/hierarchyviewer: Unable to get view server version from device 303599 …Run Code Online (Sandbox Code Playgroud) 我有固定版本2.3.3的Galaxy标签GT-P1000 7英寸和运行Android 2.2的电话.在这两个版本中,当我试图从GPS获得时间时,它显示从2012年1月1日起提前1天.相同的代码在三星,LG和摩托罗拉电话上工作正常.
该应用程序的示例代码是,
package com.vxceed.dateTime;
import java.util.Calendar;
import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
public class SampleDateTimeActivity extends Activity {
private LocationManager locationManager;
private TextView tv;
String varTime="";
/**
* Location Listener
*/
LocationListener locationListener = new LocationListener() {
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
}
@Override
public void onProviderDisabled(String provider) {
Toast.makeText(SampleDateTimeActivity.this,"GPS …Run Code Online (Sandbox Code Playgroud) 是否可以使用javascript检测iPad或Galaxy Tab上浏览器方向的变化?我认为使用css媒体查询是可能的.
我有一个包含2个片段的程序.在平板电脑上,我正在展示它们.
我正在用/layout-sw600dp文件夹这样做.
在摩托罗拉Xoom和其他平板电脑上,它正在工作,但在三星Galaxy Tab 10.1中没有.
这很奇怪.我到处搜索,并没有遇到一个有同样问题的人?
可能是什么原因?
我们的客户希望我们为输入字段显示数字键盘,所以基本上我创建了一个字段,如:
<input type="number" name="quantity" step=".01" value="0.00" />
但是,Galaxy Tablet会删除"." 并合并前后的数字,也禁用"." 在键盘上.
当使用type ="text"时,是否有其他方法可以解决此问题或在输入字段中显示数字键盘?
注意:我尝试使用模式属性(适用于iPhone).我在Android 2.1+的各种Android设备上测试了这个问题.我没有在任何其他HTC和三星设备上遇到此错误.
我正在研究2d教程,并且能够在Samsung Galaxy Tab上测试我当前的教程部分.
本教程只是在屏幕上随机移动默认图标.通过点击我创建一个新的移动图标.只要我在屏幕上有25个或更少的元素,Galaxy上的一切都可以正常工作(不断60fps).
对于第26个元素,帧速率降至25fps.
当我将图像的大小/尺寸更改为更大的图像时,我在第26个元素之前达不到25fps.没关系.但是在某些不可重复的元素数量下,帧从10fps下降到1fps(大多数).
在我的Nexus One上,我可以添加150个元素,但仍然有50fps.
我做了什么:我将位图变量更改为静态变量,因此不是每个元素都有自己的图像,但都使用相同的.这消除了这种行为,但我怀疑这个解决方案是好的.神奇数字25表示我只能以这种方式使用25个不同的图像.
有人知道什么会导致这种行为吗?这是三星修改后的Android版本中的一个错误吗?
我的示例eclipse项目可用.如果一些三星老板会用样品检查他们的表现,我将不胜感激.
编辑
一位同事找到了解决方案.他改变了加载位图的方式
mBitmap = BitmapFactory.decodeResource(res, R.drawable.icon);
Run Code Online (Sandbox Code Playgroud)
至
mBitmap = BitmapFactory.decodeStream(new BufferedInputStream(res.openRawResource(R.drawable.icon)));
Run Code Online (Sandbox Code Playgroud)
但是我们仍然不明白为什么它以这种方式工作......
编辑:
似乎问题是这个设备不需要16个维度的多个...但是32的倍数.事实是,我仍然不知道如何确定什么量化为有问题的设备.这似乎使用qcom(我已经看到在Android 4.X上有问题,但这是Android 5.1.1).
我正在Android应用中编码视频.我正在使用Android MediaCodec这样做,将每帧的RGB转换为YUV并传入像素.
我使用的代码已经存在了一段时间,并且适用于我遇到过的任何设备.
一位用户带着一个错误报告来找我说他们的MP4很奇怪.该设备是三星T337A(Galaxy Tab 4).
这是MP4出口的样子:
注 - 出于任何奇怪的原因,它不会在所有分辨率下发生.它确认发生在768x432和1280x720,但不会发生在640x352(例如我的应用程序确保所有分辨率都可以被16整除).
在Nexus 5X(使用相同的半平面YUV格式)上,输出适用于所有分辨率.
所以这是该设备的东西,也许是我不知道的其他设备?
我查看了所有输出,它看起来正常并且与我上面提到的Nexus 5X相同(100%的时间都可以工作).
正在使用的MediaCodecInfo是OMX.qcom.video.encoder.avc,使用的颜色格式是2135033992(这是COLOR_FormatYUV420Flexible).所以基本上没什么奇怪的.
代码有点广泛,我会在必要时发布,但只是寻找为什么会发生这种情况的一般想法.我知道它是否更常见,但相同的代码适用于大量其他设备,所以一些时髦的东西正在发生......
android video-encoding android-hardware galaxy-tab mediacodec
我真的不知道该如何处理这个事,我在安卓4.1.1的Galaxy Tab 2 7英寸平板电脑,并使用Chrome作为浏览器(v26.0.1410.58).我正在以纵向模式加载Web应用程序并且媒体查询匹配得很好,我将其切换到横向模式,一切都运行良好,但当我将其切换回纵向模式时,浏览器只是不应用任何样式在所有,调试与连接到PC的平板电脑的USB应用程序,我可以看到Chrome未找到任何媒体查询匹配了.
我正在申请的媒体查询是:
(设备宽度:600px)和(最大设备高度:1024px)和(最大宽度:600px)和(最小设备高度:976px)和(方向:纵向)
如果我在浏览器之前和之后检查设备的宽度和高度,它们根本不会改变.
一些可能有用的数据:
screen.width:600
screen.height:976
$(window).width():600
它只发生在这个设备上,我需要在此选项卡中支持该应用程序.
可以说,如果Galaxy Tab屏幕分辨率(在纵向模式下)是600px屏幕宽度3.55inch,屏幕密度将是600/3.55 = 169 dpi.了解并记住设备独立像素(dp)的计算方式(http://developer.android.com/guide/practices/screens_support.html):
px = dp * (dpi / 160);
600 = dp * (169 / 160);
dip = 568
Run Code Online (Sandbox Code Playgroud)
因此,从位置0开始绘制一条568dp(设备无关像素)宽度的水平线必须与屏幕宽度完全匹配.但是如果你在设备上试试这个,你会发现屏幕宽度是400dp.我将再次使用相同的公式但是为了获得dpi:
600 = 400 * (dpi / 160);
dpi = 240
Run Code Online (Sandbox Code Playgroud)
所以具有240dpi,3.55inch屏幕宽度和600pixels,是否表示一个物理像素由多个"点",否则参数的对应的宽度852pixel (3.55*240).
我认为dpi表示每英寸点数,即每英寸像素数.但这似乎不是真的......
稍后添加:
此(http://developer.android.com/guide/topics/resources/more-resources.html#Dimension)说:
无论屏幕密度如何,160dp始终为1英寸
哪个不是真的.只需从中检查测量源: android尺寸:pt和dp之间的差异
甚至后来添加:
我问的原因是违反规则160dp = 1inch导致这样的事实,即当指定控制宽度为例如320dp时,它将覆盖Galaxy Tab更大的部分,这是真正必要的,并且比你期望的大得多600x1024px屏幕......
感谢BR STeN的澄清
galaxy-tab ×10
android ×8
javascript ×2
css ×1
css3 ×1
galaxy ×1
gps ×1
html-input ×1
html5 ×1
ipad ×1
mediacodec ×1
nmea ×1
performance ×1
screen ×1
surfaceview ×1