小编pio*_*ski的帖子

Android Camera2输出尺寸

我在Android Lollipop上测试了新的Camera2 API.我想获取支持的预览尺寸:

StreamConfigurationMap streamConfigurationMap = cameraCharacteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
Size[] sizes = streamConfigurationMap.getOutputSizes(SurfaceTexture.class);
Run Code Online (Sandbox Code Playgroud)

三星Galaxy Tab S的最大预览尺寸为1440x1080px,分辨率为2560x1600px.所以我的previewSize是1440x1080px,而TextureView表面尺寸是2560x1600px,因此图像会失真.

我测试了不推荐使用的旧Camera API.

Camera.Parameters parameters =  camera.getParameters();
List<Camera.Size> sizes = parameters.getSupportedPictureSizes();
Run Code Online (Sandbox Code Playgroud)

和上面的代码返回预览大小的32个组合山雀如:2560x1920,1920x1080,1080x1920,2560x2560等.在这种情况下,我能够选择最佳的尺寸,并显示正确的图像.

我不知道如何强制新的API来获得最佳的大小.我知道解决方案是调整显示预览的视图大小,但内置相机应用程序正常工作在全屏模式下.提前感谢所有建议!

android android-camera android-5.0-lollipop

8
推荐指数
2
解决办法
2万
查看次数

使用DiffUtil更新RecyclerView中的单个项目

我想在RecyclerView中更新一个项目。该项目只是持有isFavourite标志的POJO bean 。用户可以单击项目并设置/取消收藏。我已经用DiffUtil回调实现了adater。有一个回调方法,boolean areContentsTheSame (int oldItemPosition, int newItemPosition)但在我的情况下,旧项目和新项目是同一对象,因此没有可比较的内容(equals方法返回true)。我应该保存先前的标志值,然后检查更改还是任何简单的解决方案?

android recycler-adapter android-recyclerview

6
推荐指数
1
解决办法
1043
查看次数

Firebase 云消息传递:APN 证书无效

我无法从 FCM 控制台向 iOS 设备发送推送消息。我收到错误消息“检查设置中的 APNs 证书”。我的配置与 FCM 指南中的相同:

  1. 我在 Apple 开发者帐户中生成了身份验证密钥。
  2. 我在 Firebase 项目中上传了身份验证密钥,输入密钥 ID 和前缀(团队 ID)。
  3. 我将 FCM SDK 添加到我的 iOS 项目中(还添加了 Google-service.plist)。
  4. 我将注册令牌保存在 Firebase 数据库中。
  5. 最后,我可以使用我的App ID向所有设备发送消息(但无法接收此消息,我不知道为什么),但我无法使用令牌向选定的设备发送消息。

有任何想法吗?

push-notification apple-push-notifications firebase firebase-cloud-messaging

6
推荐指数
1
解决办法
1万
查看次数

Android 相机预览显示绿屏

我已经在 Android >= 4.1.2 上实现了相机预览。在 Galaxy S4(两个不同设备)上的 Android 5 上,视图显示三个相机预览和绿屏:

在此输入图像描述

在 Galaxy S3 (Android 4.3)、Galaxy S2 (Android 4.1.2) 和 Galaxy Tab S (Android 5.0.1) 上,它可以正常工作。

这是我的代码如下:

import android.content.Context;
import android.hardware.Camera;
import android.view.SurfaceHolder;
import android.view.SurfaceView;

import java.util.List;

@SuppressWarnings("deprecation")
public class CameraView extends SurfaceView {

    private boolean inPreview = false;
    private boolean surfaceCreated = false;

    private Camera camera = null;

    private Camera.Size previewSize = null;

    public CameraView(Context context) {
        super(context);
        SurfaceHolder surfaceHolder = getHolder();
        SurfaceHolder.Callback surfaceHolderCallback = new SurfaceHolder.Callback() {

            @Override
            public …
Run Code Online (Sandbox Code Playgroud)

android android-camera android-5.0-lollipop

5
推荐指数
0
解决办法
2561
查看次数

RxJava 2中的映射异常

如何在RxJava2中将一个发生的异常映射到另一个异常?例如:

doOnError(throwable -> {
    if (throwable instanceof FooException) {
        throw new BarException();
    }
})
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我最终收到CompositeException包含FooException和的内容BarException,但我只想收到BarException。救命!

java exception-handling reactive-programming rx-java2

2
推荐指数
1
解决办法
1277
查看次数