我有一个Android应用程序与一堆照片过滤器.过滤器是使用OpenGL ES 2.0实现的,所以当我想保存最终图像时,我会调用glReadPixels.它适用于我测试过的每台设备,但它似乎无法在Nexus 4上运行.用户报告说他们可以应用过滤器,但是当他们保存最终图像时,他们无法在设备上找到它.我想知道是否有任何方法可以模拟nexus 4并在模拟器上测试我的应用程序?我已经在模拟器上进行了测试,它运行良好也很好,知道是否有人与Nexus 4有类似的问题.
我的glReadPixels电话.
GLES20.glReadPixels(0, 0, saveWidth, saveHeight, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, mPixels);
Run Code Online (Sandbox Code Playgroud) 我无法弄清楚为什么我的nexus 4不在adb设备列表中.我尝试了以下内容
Adb在我的道路上.当我查看系统信息时,Nexus 4显示出来.
我试过询问xda devs但没有运气.关于我可以尝试的任何建议?
提前致谢
使用以下非常简单的相机预览活动(来自此处的google示例),Nexus 4相机明显比设备的标准相机应用程序慢:
public class LiveCameraActivity extends Activity implements TextureView.SurfaceTextureListener {
private Camera mCamera;
private TextureView mTextureView;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mTextureView = new TextureView(this);
mTextureView.setSurfaceTextureListener(this);
setContentView(mTextureView);
}
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
mCamera = Camera.open();
try {
mCamera.setPreviewTexture(surface);
mCamera.startPreview();
} catch (IOException ioe) {
// Something bad happened
}
}
public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {
// Ignored, Camera does all the work for us
}
public boolean onSurfaceTextureDestroyed(SurfaceTexture …Run Code Online (Sandbox Code Playgroud) 我遇到了一个奇怪的问题,特别是在Nexus 4上(虽然它可能存在于其他设备上),当焦点模式设置为时,相机闪光灯不会闪光FOCUS_MODE_CONTINUOUS_PICTURE.相同的代码在运行相同版本的Android(4.2.1)的Galaxy Nexus上运行良好.以前有人遇到过这个问题吗?我只需将焦点模式切换为,即可解决问题FOCUS_MODE_AUTO.我希望这个问题能够轻松解决,因为连续的图像聚焦模式非常重要.
我创建了一个"全屏"DialogFragment,其中我添加了一个透明黑色背景.最终结果可以在下面的截图中看到:
这是我如何做到的:
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog dialog = super.onCreateDialog(savedInstanceState);
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
return dialog;
}
@Override
public void onStart() {
super.onStart();
Dialog dialog = getDialog();
if (dialog != null) {
dialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
// if >= LOLLIPOP, then I color the the statusbar
dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
dialog.getWindow().setStatusBarColor(SOME_COLOR_HERE);
}
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(DialogFragment.STYLE_NO_TITLE, R.style.DialogFullScreen);
}
Run Code Online (Sandbox Code Playgroud)
这是我在setStyle()上设置的主题:
<style name="DialogFullScreen">
<item name="android:windowIsFloating">false</item>
<item name="android:windowContentOverlay">@null</item>
</style>
Run Code Online (Sandbox Code Playgroud)
这是我为片段扩充的布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" …Run Code Online (Sandbox Code Playgroud) 我已将背景图像设置为根布局。这适用于 nexus 5(5.0.1) 和 nexus 5x(6.0.1)。但是在nexus 4(4.4.4)应用程序崩溃并出现以下错误
android.view.InflateException:二进制 XML 文件第 19 行:错误在 android.view.LayoutInflater.createView(LayoutInflater.java:620) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696) at android.view 中膨胀类.LayoutInflater.rInflate(LayoutInflater.java:755) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:492) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:397) 在 com.mobifilia.monitormymortgage.Fragments.HelpScreenFirstFragment.onCreateView(HelpScreenFirstFragment.java:38) 在 android.support.v4.app.Fragment.performCreateView(Fragment.java:1974) 在 android.support.v4.appmpl.FragmentManagerI .moveToState(FragmentManager.java:1067) 在 android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252) 在 android.support.v4.app.BackStackRecord.run(BackStackRecord.java:742) 在 android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617) 在 android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:570) 在 android.support.v4.app.FragmentPagerAdapter .finishUpdate(FragmentPagerAdapter.java:141) 在 android.support.v4.view.ViewPager.populate(ViewPager.java:1177) 在 android.support.v4.view.ViewPager.populate(ViewPager.java:1025) 在 android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1545) 在 android.view.View.measure(View.java:16497) 在 android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:719) ) 在 android.widget.RelativeLayout.onMeasure(RelativeLayout.java:455) 在 android.view.View.measure(View.java:16497) 在 android.view.ViewGroup。measureChildWithMargins(ViewGroup.java:5125) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404) at android.widget.LinearLayout.measureVertical(LinearLayout.java:695) at android.widget.LinearLayout.onMeasure(LinearLayout.java) :588) 在 android.view.View.measure(View.java:16497) 在 android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 在 android.support.design.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:668) 在 android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:735) 在 android.view.View.measure(View) .java:16497) 在 android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 在 android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 在 …
继ADB未在Windows 7下识别Nexus 4之后,我在使用Eclipse android开发环境识别我的新Nexus 4时遇到了问题.我的私密Nexus S没有问题.
我相信我已经遵循了上一篇文章中的所有建议,但仍然陷入困境.
任何能够在Windows 7上成功获得用于Android开发的nexus 4的人都可以告诉我他们的驱动程序细节是针对"Android Composite ABD接口"的吗?我说:*驱动程序提供商:"Google Inc"*驱动程序日期:27/08/12*驱动程序版本:7.0.0.1
当我的手机存储设置为PTP或MTP时,我仍然无法通过eclipse"android虚拟设备管理器"看到它.
当设置为PTP时,如果我运行链接文章中描述的"adb devices"命令,我会在dos框中显示一个条目,但在eclipse中的"android虚拟设备管理器"中没有任何内容.
这个简单的代码:
Camera.Parameters params = currentCamera.getParameters();
params.setPreviewFpsRange( 10000, 15000 );
currentCamera.setParameters( params );
Run Code Online (Sandbox Code Playgroud)
虽然允许值介于5000到120000的允许范围内,但我的Nexus 4(或我的摩托罗拉Atrix)不起作用.
当我尝试分别使用不同于5000和120000的任何最小值或最大值时,我得到:
setPreviewFpsRange(const android::QCameraParameters&): error: FPS range
value not supported
Run Code Online (Sandbox Code Playgroud)
这很傻.此外,我在我的旧版摩托罗拉Atrix(它显示有效的fps范围介于10000和30000之间)上尝试了此代码,它也无效.有什么可以做的吗?
根据我对该主题的搜索,我发现a)在任何地方都没有关于该主题的材料很少,并且b)可能是某些平台不支持此功能的情况.谷歌目前的旗舰手机Nexus 4不支持它有点奇怪,不过......
我的应用程序在Android 2.3.3到4.1.2下运行良好,但自Android 4.2.2和Android 4.3以来,我有一个
fatal signal 11 (SIGSEGV) at 0x00....
Run Code Online (Sandbox Code Playgroud)
当我关闭蓝牙插座时.
我通过很多论坛搜索,主要的反应是
BluetoothSocket.close();
Run Code Online (Sandbox Code Playgroud)
是从两个不同的线程同时调用,但在我的代码中并非如此.
我在A4.1.2下使用三星Galaxy Note 2(工作正常),在A4.2.2和4.3上使用Nexus 4.
提前感谢您的建议!
编辑1:这是操纵蓝牙插槽的2个线程.
首先 :
/**
* This thread runs while attempting to make an outgoing connection with a
* device. It runs straight through; the connection either succeeds or
* fails.
*/
private class ConnectThread extends Thread {
private final BluetoothSocket mmSocket;
private final BluetoothDevice mmDevice;
//private final UUID MY_UUID = java.util.UUID.randomUUID();
public ConnectThread(BluetoothDevice device) {
if(D) Log.d(TAG, "/S4B/ start connectThread "); …Run Code Online (Sandbox Code Playgroud) 我在我的Moto 360上启用了蓝牙调试,并在我的Nexus4上启用了Android Wear应用程序.
状态显示 target : disconnected
从我的计算机转发端口显示状态主机将更改为已连接,但目标状态保持断开状态.
我通过无效的蓝牙开关切换调试.我的手机是Nexus 4.我的手机或Moto 360有问题吗?
我试图在我的LG nexus 4上测试我的发布apk,然后将apk放在Play商店.我没有看到如何通过USB获取apk到手机.我将手机通过USB连接到我的手机上; 在手机文件夹中我将apk放在Download子目录中.但是设备本身没有相应的文件夹.
请不要将此与调试apk混淆,只需运行eclipse即可到达手机.但是eclipse不会自动转移发布APK.我必须手动完成.有谁知道如何在usb上手动完成?