Articles of android 4.2 jelly bean

使用由Camera预览填充的SurfaceTexture作为在Jelly Bean中的Renderscriptinput分配

在Jelly Bean中,是否可以从由相机预览填充的SurfaceTexture中创buildRenderscript分配? 我正在从Android源代码树中构build我的应用程序,所以我可以使用@Hide API(如Allocation.setSurfaceTexture())。 不过,我想避免使用RS Graphics弃用的API。 这里的类似问题没有得到充分的回答,也不是JB特有的。 尝试下面的代码时遇到以下问题: 进入Renderscript的数据总是为零 为了让onFrameAvailablecallback被重复调用,我必须updateTexImage(),因为当我调用Allocation.ioReceive()时,它不会在第一次之后被callback,并且在logcat中有一个“无效的EGLDisplay”。 然而,我认为ioReceive()是要走的路 – 它在内部也updateTexImage()。 支持的分配types包括RGBA8888,而不是NV21(这是相机预览格式),RS代码如何能够以这种方式对数据进行格式化? (我知道我正在使用的设备确实支持请求的VGA分辨率)。 public class SampleRSCPCActivity extends Activity implements SurfaceTexture.OnFrameAvailableListener { final static int DO_KERNEL = 0; private static final String TAG="SAMPLERSCP"; private static Camera mCamera; private Camera.Parameters mParams; private int mFrameWidth, mFrameHeight; private static SurfaceTexture mST; private RenderScript mRS; private Allocation mInAllocation; […]

Nexus 10,前置摄像头预览为黑色(无预览)

所以我正在做一个Camera相关的项目,我已经在很多设备上testing过了,除了Nexus 10之外,他们都通过了testing。 我无法弄清楚发生了什么,也没有人在网上讨论这个问题。 我能够在两个不同的Nexus 10(wifi)设备上复制这个问题。 这是我的活动的代码: public class MainActivity extends Activity { private static Camera mCamera; private static boolean mCameraOpen; private static ImageView mPreviewImageView; private SurfaceView mPreviewSurfaceView; private static boolean mPreviewRunning; private static Handler mHandler; private static int TESTS_COUNT = 0; private Camera.Parameters mCameraParameters; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mHandler = new […]

onConfigurationchanged不会在jellybean上调用(4.2.1)

我真的受到这个问题的困扰。 我已经设置了标志android:configChanges="keyboardHidden|orientation|locale" 但是当我改变语言的configuration时, onconfigurationchanged函数不被调用。 奇怪的是,我的代码在其他Android平台上工作正常。 我在这里search这个问题。 有人说我需要设置sdk版本较低。 但它没有工作。 请给我一些提示。

开发人员选项从设置中消失

升级到Android Jelly Bean 4.2后,我无法在设置中finddeveloper options 。 这个设置发生了什么? 我现在可以在哪里find它?

Nexus 7上的Android 4.2:canvas.drawText()无法正常工作

我在Google Play上发布的应用程序面临严重的问题,显然在所有版本的Android上工作都很好,除了4.0以外。 这是我的Android 4.0 HTC手机的屏幕截图: 这就是我在Nexus 7上获得的Android 4.2.1(在模拟器中的相同行为): 我看到使用canvas.drawText()绘制每个文本的相同行为 用于绘制文本的Paint是: paint = new Paint(); paint.setAntiAlias(true); paint.setColor(color); //some color paint.setTextSize(size); //some size paint.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD)); paint.setTextAlign(Align.CENTER); 在logCat(4.2.1模拟器)中我看到很多 12-18 20:42:21.096: W/Trace(276): Unexpected value from nativeGetEnabledTags: 0 我在清单中使用这些设置: <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8" />

如何使用多用户环境在Android 4.2的外部存储上查看Android / data / your.package.name文件?

Android 4.2增加了对平板电脑的多用户支持。 现在,当您通过像Environment.getExternalStorageDirectory()或Context.getExternalFilesDir(null)这样的方法请求保存外部存储器上的文件的path时,您将获得如下值:/ /storage/emulated/#/Android/data/your.package.name/ #这个数字取决于你当前login的用户。 这工作正常,但我注意到DDMS的文件资源pipe理器,也是Android文件传输不能够看到这些文件。 DDMS的文件资源pipe理器不能看到任何东西过去storage/emulated/除了一个空的legacy文件夹。 文件传输可以看到/ Android /数据/文件夹,但是作为debugging运行的应用程序,其文件不可见(但它们确实存在)。 有什么办法让DDMS或文件传输工作与这些设备? (希望没有根源的设备…) 谢谢

JellyBean中的RecognitionListener冻结,如果不立即说话

我正在开发的基于语音识别的应用程序在从API 8(Android 2.2)开始的所有Android版本上运行良好。 但是在Nexus S 4G(Android 4.1.1)上,RecognitionListener会暂停约1分钟 ,然后通过onError()callback发出ERROR_SERVER。 如果在1-2秒钟之内讲话( onReadyForSpeech哔哔声),它会像预期的那样正常工作。 果冻豆中有什么变化可以解释这种行为? 更重要的是,有没有一种方法可以使其performance得像旧版本的Android? (即保持监听,如果在默认的10秒内不说话,则发出ERROR_SPEECH_TIMEOUT)

WebView shouldOverrideUrlLoading在以前的Android版本中工作,除了4.1.x jellybean

以下代码在运行Android 2.x的所有设备上都能正常工作,但不能在4.1.2的Nexus 7平板电脑上正常工作 问题是shouldOverrideUrlLoading永远不会运行。 onPageFinished运行正常 我会感激任何可用的帮助。 wv = (WebView) root_view.findViewById(R.id.wv); wv.setBackgroundColor(res.getColor(R.color.def_bgr_color)); wv.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY); wv.setWebViewClient(new MyWebViewClient() ); WebSettings web_settings = wv.getSettings(); web_settings.setJavaScriptEnabled(true); web_settings.setLoadWithOverviewMode(true); web_settings.setUseWideViewPort(false); web_settings.setPluginsEnabled(true); web_settings.setSupportZoom(true); web_settings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); public class MyWebViewClient extends WebViewClient { public MyWebViewClient() { } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { Log.i(TAG, "RUN shouldOverrideUrlLoading" ); return true; } @Override public void onPageFinished(WebView view, […]

在果冻豆上的语音search之前处理耳机button

Android Jelly Bean引入了一种语音searchfunction,通过长按耳机的播放/暂停button来激活。 由于我的应用程序需要能够使用这些长按,我想知道是否有任何方法来禁用语音search或使Android玩button事件公平。

我如何在Android 4.1中使用ACTION_VOICE_SEARCH_HANDS_FREE?

我正在尝试在Android 4.1中使用ACTION_VOICE_SEARCH_HANDS_FREE 。 我用这种方式: Intent intent = new Intent(RecognizerIntent.ACTION_VOICE_SEARCH_HANDS_FREE); intent.putExtra(RecognizerIntent.EXTRA_SECURE, true); startActivityForResult(intent, RECORD_CODE); 它与ACTION_RECOGNIZE_SPEECH工作正常,但与ACTION_VOICE_SEARCH_HANDS_FREE我有这样的: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.speech.action.VOICE_SEARCH_HANDS_FREE (has extras) } 我如何使用ACTION_VOICE_SEARCH_HANDS_FREE ?