我在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来获得最佳的大小.我知道解决方案是调整显示预览的视图大小,但内置相机应用程序正常工作在全屏模式下.提前感谢所有建议!
我想在RecyclerView中更新一个项目。该项目只是持有isFavourite标志的POJO bean 。用户可以单击项目并设置/取消收藏。我已经用DiffUtil回调实现了adater。有一个回调方法,boolean areContentsTheSame (int oldItemPosition, int newItemPosition)但在我的情况下,旧项目和新项目是同一对象,因此没有可比较的内容(equals方法返回true)。我应该保存先前的标志值,然后检查更改还是任何简单的解决方案?
我无法从 FCM 控制台向 iOS 设备发送推送消息。我收到错误消息“检查设置中的 APNs 证书”。我的配置与 FCM 指南中的相同:
有任何想法吗?
push-notification apple-push-notifications firebase firebase-cloud-messaging
我已经在 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) 如何在RxJava2中将一个发生的异常映射到另一个异常?例如:
doOnError(throwable -> {
if (throwable instanceof FooException) {
throw new BarException();
}
})
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我最终收到CompositeException包含FooException和的内容BarException,但我只想收到BarException。救命!