精华内容
下载资源
问答
  • 头文件:adb_api.h 库:AdbWinApi.lib 来源:使用VS2010编译adb源码后提取的内容,可自行下载adb源码编译 使用例子:Manager.cpp,通过USB枚举得到的设备路径后,使用adb接口获取手机序列号。
  • 第一、Android调用js 有两个很重要的方法setWebChromeClient和setWebClient setWebChromeClient主要处理解析,渲染网页等浏览器做的事情 WebChromeClient是辅助WebView处理Javascript的对话框等 要调用js就要等...

    记录一下前面混合开发时很重要的java与js互调方法进行数据交互。

    混合开发就需要webview这个控件了

    这就很玄学了,哈哈哈

    这篇文章https://www.jianshu.com/p/3d9a93c9fea2可以看看

    先来设置一下webview。WebSettings用于管理WebView状态配置

    public static booleanWebViewSetting(Activity activity, WebView webview) {final WebSettings webSettings =webview.getSettings();

    webSettings.setDomStorageEnabled(true);//主要是这句

    webSettings.setJavaScriptEnabled(true);//启用js

    webSettings.setBlockNetworkImage(false);//解决图片不显示

    webSettings.setSavePassword(false);

    webSettings.setDefaultTextEncodingName("utf-8");//设置编码格式

    webSettings.getSettings().setBuiltInZoomControls();//设置是否支持缩放

    webSettings.addJavascriptInterface(obj,str);//向html页面注入java对象

    webSettings.setUseWideViewPort(true);//设置此属性,可任意比例缩放

    webSettings.setLoadWithOverviewMode(true);//页面支持缩放:

    webSettings.setJavaScriptEnabled(true);

    webSettings.setBuiltInZoomControls(true);

    webUrl.requestFocusFromTouch();//如果webView中需要用户手动输入用户名、密码或其他,则webview必须设置支持获取手势焦点。

    webSettings.setJavaScriptEnabled(true); //支持js

    webSettings.setUseWideViewPort(false); //将图片调整到适合webview的大小

    webSettings.setSupportZoom(true); //支持缩放 webSettings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);//支持内容重新布局

    webSettings.supportMultipleWindows(); //多窗口

    webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); //关闭webview中缓存

    webSettings.setAllowFileAccess(true); //设置可以访问文件

    webSettings.setNeedInitialFocus(true); //当webview调用requestFocus时为webview设置节点

    webSettings.setJavaScriptCanOpenWindowsAutomatically(true); //支持通过JS打开新窗口

    webSettings.setLoadWithOverviewMode(true); //缩放至屏幕的大小

    webSettings.setLoadsImagesAutomatically(true); //支持自动加载图片//让JavaScript可以自动打开windows设置允许JS弹窗

    webSettings.setJavaScriptCanOpenWindowsAutomatically(true);//设置缓存

    webSettings.setAppCacheEnabled(false);//设置缓存模式,一共有四种模式//webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);//设置缓存路径

    webSettings.setAppCachePath("");//支持缩放(适配到当前屏幕)

    webSettings.setSupportZoom(true);//将图片调整到合适的大小

    webSettings.setUseWideViewPort(true);//支持内容重新布局,一共有四种方式//默认的是NARROW_COLUMNS

    webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);//设置默认字体大小

    webSettings.setDefaultFontSize(12);//支持缩放

    webSettings.setSupportZoom(false);//设置支持两指缩放手势

    webSettings.setBuiltInZoomControls(false);return true;

    }

    下面重要的来了

    addJavascriptInterface是WebKit的原生API,属于WebView对象的公共方法,用于暴露一个java对象给js,使得js可以直接调用方法。

    由于它不安全,4.2后新增了@JavascriptInterface注解

    还有个框架:https://github.com/lzyzsd/JsBridge  ---这个项目在Java和JavaScript之间架起了桥梁。

    现在要开始加载页面了 webview.loadUrl("https://www.baidu.com/");

    @SuppressLint("JavascriptInterface")private voidinitMixedPage() {//封装webview

    NativeWebViewUtil nativeWebViewUtil = newNativeWebViewUtil();

    nativeWebViewUtil.WebViewSetting(this,webview);//添加Javascript的映射

    webview.addJavascriptInterface(this,"android");

    webview.loadUrl("https://www.baidu.com");

    webview.setWebViewClient(newWebViewClient(){

    @Overridepublic voidonPageStarted(WebView view, String url, Bitmap favicon) {super.onPageStarted(view, url, favicon);//加载页面

    }

    @Overridepublic voidonPageFinished(WebView view, String url) {super.onPageFinished(view, url);//加载结束

    webview.evaluateJavascript("javascript:get_android_base("aaa")", new ValueCallback() {

    @Overridepublic voidonReceiveValue(String value) {//此处为 js 返回的结果

    Log.v("Native",value);

    }

    });

    }

    });

    }

    没有回掉可以写null.

    第一、Android调用js

    有两个很重要的方法setWebChromeClient和setWebClient

    setWebChromeClient主要处理解析,渲染网页等浏览器做的事情

    WebChromeClient是辅助WebView处理Javascript的对话框等

    要调用js就要等webview加载完成后再调用js方法

    webview.setWebViewClient(newWebViewClient(){

    @Overridepublic voidonPageStarted(WebView view, String url, Bitmap favicon) {super.onPageStarted(view, url, favicon);//加载页面

    }

    @Overridepublic voidonPageFinished(WebView view, String url) {super.onPageFinished(view, url);//加载结束js 方法 get_android_base

    webview.evaluateJavascript("javascript:get_android_base("aaa")", new ValueCallback() {

    @Overridepublic voidonReceiveValue(String value) {//此处为 js 返回的结果

    Log.v("Native",value);

    }

    });

    }

    });

    javascript代码

    接收android发来的数据

    functionget_android_base(base){

    alert(base);

    }

    第二、js调用Android

    javascrip代码

    js的一个方法 get_data()

    window.android.get_data("mcontrol");

    Android代码

    @JavascriptInterfacepublic voidget_data(String base){

    Log.d(TAG,base);

    }

    到这里,简单的互调就完成了。

    互调就很玄学,总是有各种各样的问题哈哈哈。

    后面再记录下腾讯的webview

    展开全文
  • windows上使用android adb投屏
  • H5 如何调用安卓方法

    2021-06-13 14:10:14
    当项目封装成APP需要拉起微信登录或者微信分享的时候,必须去调用安卓的方法才可以实现需求:一:登录let data_1={}window.loginResult = async function (data) {//此方法是为了安卓那边可以调取到,data就是安卓传递...

    当项目封装成APP需要拉起微信登录或者微信分享的时候,必须去调用安卓的方法才可以实现需求:

    一:登录

    let data_1={}

    window.loginResult = async function (data) {

    //此方法是为了安卓那边可以调取到,data就是安卓传递的参数,从参数中取需要的,传递给后台

    const data_ = JSON.parse(data)

    data_1.unionid = data_.resource.unionid;

    data_1.screen_name = data_.resource.screen_name;

    data_1.profile_image_url = data_.resource.profile_image_url;

    const result = await users.weChartUnionid(data_1);

    if (result.code == 1) {

    // if (result.data.status == 1) { //请求成功且已经绑定成功的情况,存储用户名、密码为了后续token用。同时跳转到首页去

    login(result.data.tel, result.data.pwd)

    window.location = '/home'

    }

    else if(result.code==2){

    let url = `http://www.xcy.ac.cn/WxZhuCe?unionid=${data_1.unionid}&name=${data_1.screen_name}&img=${data_1.profile_image_url}`

    window.location = url

    return;

    }

    };

    二:分享

    分享和登录同理,根据安卓需要的参数传参就行:

    onClick={()=>{

    this.sub(

    this.state.type != "2" ? SpecialDetails_src.pd_name : SpecialDetails_src.Set_meal,

    '',

    SpecialDetails_src.pd_pic?APIHost+SpecialDetails_src.pd_pic[0]:'',

    this.state.url

    )

    }}>

    去微信分享

    定义点击事件,触发sub函数

    sub(name,describe,img,url){

    var u = navigator.userAgent,app = navigator.appVersion

    var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //android终端或者uc浏览器

    if (isAndroid) {

    window.android.shareWeChatWithWeb(name,describe,img,url); //这个是调安卓那边的方法 然后把name,describe img url 传给他 他可以拉起微信并生成分享链接

    } else {

    return;

    }

    }

    展开全文
  • android项目中通过JNI调用Windows下的dll库

    第一步:生成dll

    注意点:要把jdkinclude文件夹下的jni.h以及include/ win32下的jni_md.h和jawt_md.h添加到编译器中的include中,或者何源文件放在一起,又是会提示jnih找不到,这是你可以把使用javah生成的.h文件中的<jni.h>改成“jni.h”;即可:用Javah生成的头文件com_xinfeng_intf_animal.h和相应的实现文件生成testdll,采用VS2013生成相应的的testdll.dll;

    第二步: 需要testdll.dll的头文件,以便知道了定义了哪些接口在里面,例如:

    当然,要知道这些方法的实现,就要看实现部分了,一般不需要知道。

     

    ------------------------------- 预备动作 --------------------------

    1. 从上面图中,我们可以接口的定义,假设现在我们需要调用如下接口,该怎么调用呢?

    2. 首先看接口

     

    ---------------------------- Java调用开始 ---------------------------

    第一步: 建立一下 Java-Project工程,工程名随便起一个。

    第二步:要对应dll里面的接口,建立相对应的接口。

    第三步: 在Animal.java定义相应的接口

    第四步:在main 中调用接口。

    第五步: 把dll文件放在当前的目录下即可;刷新项目,加载进来dll,即可在项目中调用dll中相应的函数;

    展开全文
  • 本文详细讲解Android 1.6调用搜狗输入法和谷歌输入法在安装完毕搜狗输入法后,并不能调用中文输入法,还需按照下面操作进行设置。Android模拟器-All按钮,找到settings点击settings,找到对应的local&text点击...

    本文详细讲解Android 1.6调用搜狗输入法和谷歌输入法

    在安装完毕搜狗输入法后,并不能调用中文输入法,还需按照下面操作进行设置。

    Android模拟器-All按钮,找到settings

    df6e5dada9e290aa5d025c0008a1a79e.png

    点击settings,找到对应的local&text

    986763d14c3e656b46cc2580a97276c6.png

    点击local&text,在对应的窗口找到android keyboard,将该选项取消,并选中“谷歌拼音输入法”

    返回,在某个输入窗口进行输入,则可以调查中文输入法;

    如果使用搜狗输入法,则需要在上面local&text,选择“搜狗拼音输入法”

    返回输入窗口,则可以调出搜狗拼音输入法

    1.首先去网站下载搜狗手机输入法,当前是sogouinput_android_1.40_sweb.apk, 并修改其名称为pinyin.apk(方便后面名称输入,不改也可以)。

    2.启动Android模拟器,在Android SDK的Tools文件夹中找到Emulator文件,双击emulator.exe即可启动模拟器。

    3.复制需要安装的pinyin.apk文件到Android SDK的Tools文件夹中(APK和emulator.exe同文件夹)这里我们演示安装的为pinyin.apk文件。

    4.执行 Windows开始菜单 => 所有程序 => 附件 => 命令提示符 或通过 Win+R 组合键调出 运行 对话框输入cmd 单击确定即可。

    5.在cmd命令提示符中输入d: 回车,接下来输入cd android-sdk-windows-1.6_r1后回车(文件夹名称根据模拟器版本而定),接下来输入cd tools进入模拟器文件夹,最后执行adb install pinyin.apk命令即可执行安装。

    6.最后在Android模拟器-All按钮中可以看到我们安装好的搜狗输入法。

    7.选中搜狗输入法,如下图进行设置。

    b641ccaa4fc8b014cf65173d8fd0113f.png

    98373a1e382f27db10bc97bb6fa2c4e4.png0b1331709591d260c1c78e86d0c51c18.png

    展开全文
  • Qt on Android调用Jar包

    热门讨论 2014-11-06 20:56:53
    演示如何在Qt on Android应用中通过JNI调用第三方Jar包
  • YOLO v3在Windows下的配置(无GPU)+opencv3.2.0+VS2015 实验在以上博客的基础上进行的。 问题交流邮箱:2156362475@qq.com 问题交流群:858850430 步骤0. 首先在要下载IP摄像头——这是下载链接IPWebCam,...
  • AllJoyn+Android+C++开发案例-androidwindows跨设备跨平台调用方法
  • 应用场景:在Android开发过程中,有时需要调用手机自身设备的功能,上篇文章主要侧重摄像头拍照功能的调用。本篇文章将综合实现拍照与视频的操作。
  • 如上图所示,PackageManager.getPermissionFlags()方法是被@SystemApi注解修饰过的方法,@SystemApi 只允许system app 调用或者用反射方法调用, 反射方法实例: this.mPackageManager = context.getPackageManager...
  • 对LTP进行java调用封装,对Linux、Windows系统下分别进行适配
  • 回答我的所有问题....使用android studio,.so文件应该放在/ app / src / main / jniLibs / [armeabi | armeabi-v7a | x86 | etcetera].对于eclipse,它是一个不同的目录.>我们不需要header,c文件...
  • Windows XP 电脑设置:一、右键点击“我的电脑“ ——属性——计算机名...Windows7电脑设置,其他的设置几乎都相同在此不多说了。如何添加:点击远程用户按钮——添加——高级——立即查找——选择一个后点击确定二...
  • 如果仅解锁,调用下面方法WindowManagerGlobal.getWindowManagerService( ).dismissKeyguard( );如果需要解锁并跳转到其他activity,可以使用下面方法:try {// Dismiss the lock screen when activity starts....
  • 目录 涉及工具 开发IDE之PyCharm Python AndroidNativeEmu ...对于没有Jni_OnLoad函数的so库如何调用以Java_开头的函数问题? NotImplementedError问题 Invalid memory fetch (UC_ERR_FETCH...
  • 1、找到adb安装路径,如果安装了Android SDK,则在platform-tools下面,例如: D:\devsoft\Android\SDK\platform-tools 2、运行 adb.exe --help查看命令 adb.exedevices -l 查看连接的设备(首次使用会启动adb...
  • python to be Windows Daemon参考:http://assback.iteye.com/blog/1731565 安装 pywin32-.win32-py2..exe #32bit pywin32-.win-amd64-py2..e ...php多线程pthreads的安装与使用安装Pthreads 基本上需要重新编译PHP,...
  • 之前也总结过h5调用原生的方法,但是写的不全。像调完原生之后,原生往往会有返回值,或者根据返回值的不同回调h5的方法。1、判断机型getType() {var u = navigator.userAgent;... //android安卓var isiOS =...
  • 本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android Studio 使用小技巧和快捷键。 根据这些小技巧的使用场景,本文将这62个小技巧分为常用技巧(1 – 28)、编码技巧(29 – 49)和调试...
  • C++调用静态库StaticLibrary(lib) Linking Static Libraries https://wiki.unrealengine.com/Linking_Static_Libraries_Using_The_Build_System   C++调用动静态链接库Dynamic Link Library(dll) ...
  • Windows中通过.bat调用python脚本

    千次阅读 2022-01-03 19:27:43
    前言 前面脚本开发阶段我们都是使用pycharm IDE工具来运行脚本,但是当我们的脚本开发完成后,还每次打开IDE来执行自动化测试就不合理了,因为不仅每次打开比较麻烦,而且pycharm内存资源占用比较“感人”!...
  • 在阅读别人的代码时通常是很痛苦的,有时很想要看一看布局中的控件在哪里被调用了,为之很苦恼在这里提供一种方法。复制要查看的控件ID,到R文件中搜索到该ID,接下来就好办的了,选中ID按下Ctrl鼠标点击,即可跟踪到...
  • 1、下载git,并安装; 2、配置环境变量; 比如:D:\Program Files\Git\bin;...3、编写shell文件(a.sh),放在安卓工程下; 4、打开android studio 底部【Terminal】,运行sh; 5、执行 $ ./a.sh
  • Android调用打印机

    千次阅读 2019-07-22 09:47:00
    打印机其实和Android没有什么大的关系,和linux内核关联才是比较强的。 最终的结果是要在Android实现驱动打印机,但是一般调试一个新的驱动的流程是这样的:1.先在linux PC上进行测试。2.在标准嵌入式linux上进行...
  • Unity Vuforia 之 简单实现Vuforia调用Android设备外接摄像头camera实现AR 一、简单介绍 Unity中使用 Vuforia 进行相关开发的只是整理。 Unity 在 Android 设备上进行AR开发,一般可以调用的是 Android 设备的...
  • 匿名用户1级2015-03-09 回答在Android中,Activity主要负责前台页面的展示,Service主要负责需要长期运行的任务,所以在我们实际开发中,就会常常遇到Activity与Service之间的通信,我们一般在Activity中启动后台...
  • 首先,Qt For Android 环境搭建可以参考下面这篇文章: Qt For Android 开发环境配置 完成之后我们再次尝试导出一个QT的so库。 上面的步骤完成之后,可以看到QTCreator自动帮我们创建了这几个文件: 我们对 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 89,782
精华内容 35,912
关键字:

windows调用安卓