标签: native

相机焦距

我正在尝试从Android相机读取焦距(照片中的主体距离).即使正确自动对焦,我的HTC Desire上的所有焦距仍然保持为0.这是整个应用程序,仅适用于v2.3.3及更高版本.

ImageCapture.java

package test.test;

import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat;

import android.app.Activity;
import android.content.Intent;
import android.graphics.PixelFormat;
import android.hardware.Camera;
import android.hardware.Camera.AutoFocusCallback;
import android.hardware.Camera.PictureCallback;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore.Images.Media;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MenuItem;
import android.view.SurfaceHolder;
import android.view.SurfaceView;

//THIS CLASS READS THE FOCUS DISTANCES
class ImageFocusCallback implements AutoFocusCallback {
    @Override
    public void onAutoFocus(boolean success, Camera camera) {
        //READ FOCUS DISTANCES HERE
        Camera.Parameters parameters = camera.getParameters();
        float[] distances = new float[3];
        if (success) {
            // Only available with Android 9 …
Run Code Online (Sandbox Code Playgroud)

camera android native focus distance

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

Android Native浏览器和Chrome之间有什么区别

有人知道最近推出的谷歌浏览器和Android的原生浏览器之间是否有任何区别(在开发视角)?

browser android native

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

如何确定JavaScript函数是本机的(不测试'[native code]')

我想知道是否有办法区分JavaScript脚本函数(function(){})和JavaScript本机函数(如Math.cos).
我已经知道了这个func.toString().indexOf('[native code]') != -1技巧,但我想知道是否有另一种方法来检测它.

context:
我需要创建一个No-op转发ES6代理,它可以处理对象上的本机函数但它失败了TypeError: Illegal invocation(参见使用ES6 Proxy和node.js的非法调用错误).

为了解决这个问题,我.bind()getProxy 的处理程序中运行了所有函数,但如果我能有效地检测本机函数,我只需要.bind()这些本机函数.

更多详情:https://github.com/FranckFreiburger/module-invalidate/blob/master/index.js#L106

注意:

(function() {}).toString() -> "function () {}"
(function() {}).prototype  -> {}

(require('os').cpus).toString() -> "function getCPUs() { [native code] }"
(require('os').cpus).prototype  -> getCPUs {}

(Math.cos).toString() -> "function cos() { [native code] }"
(Math.cos).prototype  -> undefined

(Promise.resolve().then).toString() -> "function then() { [native code] }"
(Promise.resolve().then).prototype  -> undefined
Run Code Online (Sandbox Code Playgroud)

编辑:
目前,最好的解决方案是测试,!('prototype' …

javascript native function node.js

16
推荐指数
2
解决办法
1278
查看次数

Android原生崩溃

我们没有使用任何本机代码,我们的应用程序也没有任何本机传递依赖.

在最近发布之后(我们更新了几个依赖项并添加新内容),我们开始在Google Play中看到这样的崩溃:

native: pc 000000000006a548  /system/lib64/libc.so (tgkill+8)
  native: pc 0000000000067cd8  /system/lib64/libc.so (pthread_kill+68)
  native: pc 0000000000024b78  /system/lib64/libc.so (raise+28)
  native: pc 000000000001f318  /system/lib64/libc.so (abort+60)
  native: pc 000000000043471c  /system/lib64/libart.so (_ZN3art7Runtime5AbortEv+324)
  native: pc 0000000000137224  /system/lib64/libart.so (_ZN3art10LogMessageD2Ev+3136)
  native: pc 000000000030d988  /system/lib64/libart.so (_ZN3art9JavaVMExt8JniAbortEPKcS2_+2080)
  native: pc 000000000030df24  /system/lib64/libart.so (_ZN3art9JavaVMExt9JniAbortFEPKcS2_z+224)
  native: pc 000000000034ec64  /system/lib64/libart.so (_ZN3art3JNI15CallVoidMethodVEP7_JNIEnvP8_jobjectP10_jmethodIDSt9__va_list+616)
  native: pc 0000000000099094  /system/lib64/libandroid_runtime.so
  native: pc 0000000002a71ac4  /system/framework/arm64/boot.oat
Run Code Online (Sandbox Code Playgroud)

我认为这只是Android本身,但可能是什么原因?任何帮助表示赞赏.

这个电话有什么意义吗?它是虚拟机的一些调用吗?

_ZN3art3JNI15CallVoidMethodVEP7_JNIEnvP8_jobjectP10_jmethodIDSt9__va_list
Run Code Online (Sandbox Code Playgroud)

crash android native

16
推荐指数
1
解决办法
1579
查看次数

哪个更好/更安全使用:HandleRef或IntPtr(来自Microsoft的较新源代码不再使用HandleRef)

例如,在旧的.NET Framework 2.0源代码(Windows窗体,Visual Studio 2005 - Whidbey)中,使用HandleRef定义了GetClientRect函数:

    [DllImport(ExternDll.User32, ExactSpelling=true, CharSet=CharSet.Auto)]
    public static extern bool GetClientRect(HandleRef hWnd, [In, Out] ref NativeMethods.RECT rect); 
Run Code Online (Sandbox Code Playgroud)

在新的Windows API代码包(来自Microsoft,2009/2010)中,使用IntPtr定义了相同的函数:

    [DllImport("user32.dll")]
    [return: MarshalAs(UnmanagedType.Bool)]
    internal static extern bool GetClientRect(IntPtr hwnd, ref CoreNativeMethods.RECT rect);
Run Code Online (Sandbox Code Playgroud)

实际上,HandleRef不用于任何Windows API Code Pack源文件,而是在旧.NET Framework源文件中的本机方法签名中大量使用.

c# winapi interop native intptr

15
推荐指数
2
解决办法
6710
查看次数

如何在Delphi中使用.Net程序集而无需在GAC或COM中注册?

我有一个简单的任务:

有没有可能写一个Delphi DLL并放一个.Net程序集(只有一个接口有4个方法和一个实现接口的类)除了它并从Delphi DLL调用它?

我的意思是,如果我为tlb创建一个tlb和一个delphi单元,而不注册Assembly/tlb,我可以直接从.Net程序集导入.Net类型(相对文件名)吗?

最好的,thalm

编辑(我找到了):

大多数解决方案必须为COM注册至少一个dll/tlb.但我发现最有希望的事情是:来自Robert Giesecke的Unmanaged Exports,它是一个Visual Studio项目模板,它允许你编写静态C#(或任何.Net语言)方法,并从任何非托管语言调用它们,真棒:

class Test
{
    [DllExport("add", CallingConvention = CallingConvention.StdCall)]
    public static int Add(int left, int right)
    {
        return left + right;
    } 
}
Run Code Online (Sandbox Code Playgroud)

编辑2:它确实有效!你甚至可以控制编组类型,不可信!

.net delphi dll interop native

15
推荐指数
1
解决办法
5779
查看次数

跨平台本机打开/保存文件对话框

我正在为我的程序编写一个UI,使用opengl和SDL结合使用Lua和C++

我现在需要的是一些库,它允许我调用一个函数,向用户显示用于打开/保存文件的文件选择对话框.但是如果操作系统为这样的对话提供了本机功能,那么我想使用该对话框(例如Window的GetOpenFileName).

我需要支持的唯一平台是Windows和Linux,但我希望能够仍然使用我已编写的大部分SDL和openGL代码.

有哪些选择?

c++ user-interface dialog cross-platform native

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

Android NDK限制?

我对Android平台上本机代码的限制有疑问.

基本上我已经开发了一个本机C代码库,它使用UDP套接字进行SIP/RTP,并使用OpenAL进行音频录制/回放 - 基本上是整个应用程序.我们的想法是尽可能使用本机C代码而不是Java代码.我想这样做是因为我将在其他平台上使用它.

我的问题很简单 - 是否可以只使用Java进行GUI,然后使用本机代码进行所有处理?当我的本机代码尝试创建套接字,绑定它,录制音频,播放它等时会发生什么 - 因为它是本机代码,我是否需要为它设置权限(例如应用程序访问麦克风和诸如此类)或将它只是绕过这个东西,因为它的本机代码?原生代码可以像在PC上那样在Android上做任何想做的事吗?

对不起,如果不清楚; 告诉我,我会尽力改进它

谢谢

c permissions android native android-ndk

15
推荐指数
1
解决办法
8711
查看次数

从命令行运行本机VS2012/C++ 64位单元测试

我正在尝试从命令行运行单元测试.我尝试使用以下命令使用mstest.exe程序:

E:\VS Projects\...\>"C:\Program Files (x86)\Microsoft Visual Studio 11.0\
    Common7\IDE\MSTest.exe" /testcontainer:mytest.dll 
    /testsettings:"E:\VS Projects\...\Local.testsettings"
Run Code Online (Sandbox Code Playgroud)

mstest程序响应是:

Microsoft (R) Test Execution Command Line Tool Version 11.0.50727.1
Copyright (c) Microsoft Corporation. All rights reserved.

Loading E:\VS Projects\...\Local.testsettings...
Loading mytest.dll...
mytest.dll
Unable to load the test container 'mytest.dll' or one of its 
dependencies. If you build your test project assembly as a 64 bit assembly, 
it cannot be loaded. When you build your test project assembly, select "Any 
CPU" for the platform. To run your tests …
Run Code Online (Sandbox Code Playgroud)

c++ dll unit-testing mstest native

15
推荐指数
1
解决办法
5041
查看次数

如何检查模块/库/包是否是python标准库的一部分?

我已经安装了很多带有pip的库/模块/包,现在我无法区分python标准库本身的哪个,哪些不是.当我的代码在我的机器上运行时,这会导致问题,但在其他任何地方都不起作用.

如何检查我在代码中导入的模块/库/包是否来自python stdlib?

假设检查是在具有所有外部库/模块/包的机器上完成的,否则我可以简单地在没有它们的其他机器上进行try-except导入.

例如,我确信这些导入可以在我的机器上运行,但是当它在只有普通Python安装的机器上时,它会中断:

from bs4 import BeautifulSoup
import nltk
import PIL
import gensim
Run Code Online (Sandbox Code Playgroud)

python module native package

15
推荐指数
2
解决办法
6015
查看次数