在我的logcat中输出太多,所以我想用一些关键字过滤它,基本上只显示包含关键字的输出.有没有办法通过UI在Android Studio中执行此操作?
我在Android Studio的AVD管理器中创建了一个armeabi API 21模拟器,将其设置为使用网络摄像头作为前置摄像头,然后启动它.问题是它无法打开它,因为我收到此错误:
emulator: ERROR: camera_device_start_capturing: VIDIOC_STREAMON on camera '/dev/video0' has failed: Timer expired
emulator: ERROR: _camera_client_query_start: Cannot start camera '/dev/video0' for NV21[640x480]: Inappropriate ioctl for device
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
网络摄像头使用其他软件正常工作.操作系统是Ubuntu 14.04.
java android emulation android-virtual-device android-studio
今天我试图使用它,TimePickerDialog
但我注意到了一些缺陷.
我使用的API是18.
还有其他人遇到过这些问题吗?你是怎么解决的?
我想要实现的是捕获图片而不显示预览,直接将输出发送到ImageReader
.我使用Camera2Basic示例作为起点.但是,我的调用ImageReader
永远不会被调用,因此没有图像被发送到它Surface
.我真的需要先显示预览吗?
这是摄像机代码,它按照异步回调的流程排序:
private ImageReader imageReader;
private Handler backgroundHandler;
private HandlerThread backgroundThread;
private String cameraId;
private CameraDevice cameraDevice;
private CameraCaptureSession cameraCaptureSession;
@Override
public void onCreate() {
setupCamera2();
}
private void setupCamera2() {
CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
try {
for (String cameraId : manager.getCameraIdList()) {
CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId);
if (characteristics.get(CameraCharacteristics.LENS_FACING) != CameraCharacteristics.LENS_FACING_FRONT) {
continue;
}
this.cameraId = cameraId;
int[] picSize = Settings.getPictureSize();
int picWidth = picSize[0];
int picHeight = picSize[1];
imageReader = …
Run Code Online (Sandbox Code Playgroud) 借助MediaProjection
Android L中提供的API,可以实现
将主屏幕的内容(默认显示)捕获到Surface对象中,然后您的应用可以通过网络发送该对象
我已经设法让VirtualDisplay
工作,我SurfaceView
正确显示屏幕的内容.
我想要做的是捕获显示在其中的框架Surface
,并将其打印到文件.我尝试过以下内容,但我得到的只是一个黑色文件:
Bitmap bitmap = Bitmap.createBitmap
(surfaceView.getWidth(), surfaceView.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
surfaceView.draw(canvas);
printBitmapToFile(bitmap);
Run Code Online (Sandbox Code Playgroud)
有关如何从中检索显示数据的任何想法Surface
?
因此,作为@j__m建议,现在我的设置VirtualDisplay
使用Surface
的ImageReader
:
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
displayWidth = size.x;
displayHeight = size.y;
imageReader = ImageReader.newInstance(displayWidth, displayHeight, ImageFormat.JPEG, 5);
Run Code Online (Sandbox Code Playgroud)
然后我创建虚拟显示传递Surface
到MediaProjection
:
int flags = DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY | DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC;
DisplayMetrics metrics = getResources().getDisplayMetrics();
int density = metrics.densityDpi;
mediaProjection.createVirtualDisplay("test", …
Run Code Online (Sandbox Code Playgroud) 我正在设置活动X和活动Y之间的过渡动画.
X包含带有图像的列表,单击图像时会展开并在活动Y中 "缩放" .
因此,此图像是X和Y之间的共享元素.我已经transitionName
在XML布局中设置了它的属性.
这是启动活动Y的代码:
ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this, clickedImage, clickedImage.getTransitionName());
startActivityForResult(intent, OPEN_PICTURE_REQUEST, options.toBundle());
Run Code Online (Sandbox Code Playgroud)
直到这里,一切正常.但是,我还想在输入时为活动Y的布局设置动画.
为此,我在XML文件(picture_enter.xml)中定义了转换:
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android"
android:transitionOrdering="together">
<transition
class="android.transition.Explode"
android:startDelay="200">
<targets>
<target android:targetId="@+id/top_toolbar_container" />
</targets>
</transition>
</transitionSet>
Run Code Online (Sandbox Code Playgroud)
最后,在onCreate
活动Y中我将初始化过渡:
TransitionInflater inflater = TransitionInflater.from(this);
Transition transition = inflater.inflateTransition(R.transition.picture_enter);
Window window = getWindow();
window.setEnterTransition(transition);
Run Code Online (Sandbox Code Playgroud)
但这从未执行过.只有图像的"缩放"效果才能正常工作.我也尝试过以编程方式定义转换.
有什么建议?
android android-activity android-transitions android-5.0-lollipop
我试图以ListPreference
编程方式设置 a 的默认值,但它没有效果。我从 xml 中增加首选项,然后动态设置值。
addPreferencesFromResource(R.xml.pref_general);
ListPreference sizePreference = findPreference("picture_size");
sizePreference.setEntries(entries);
sizePreference.setEntryValues(entryValues);
sizePreference.setDefaultValue(entryValues[0]);
bindPreferenceSummaryToValue(sizePreference);
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以做到这一点而无需覆盖Preference
?
使用NodeJS和Express,我将请求与request
模块代理在一起。然后,当收到响应时,我需要将cookie设置为先前的响应,然后将其发送回客户端。
app.use('/api', function(req, res) {
var options = {
url : constants.API_COMPLETE_URL + '/api' + req.url
};
req.pipe(request(options, function (err, backendResponse) {
if (err) {
res.status(501).send(err);
return;
}
setCookiesToResponse(res, backendResponse);
backendResponse.pipe(res);
}));
});
Run Code Online (Sandbox Code Playgroud)
但是,backendResponse.pipe(res.body)
主体是经过编码的。最好的方法是什么?
我试图找到一种Bitmap
从包含任意大图像的文件加载a的有效方法,在其上放置水印(徽标),并将其保存回文件.
我知道在Android上处理大型位图时会出现内存问题.我不想加载较小的图像样本,因为在将其保存回文件时我需要保持相同的质量.
任何帮助表示赞赏.