调用手机端硬件功能 汇总(android/ios) Native.js示例汇总
Native.js虽然强大和开放,但很多web开发者因为不熟悉原生API而难以独立完成。
这篇帖子的目的就是汇总各种写好的NJS代码,方便web开发者。
众人拾柴火焰高,有能力的开发者多多提交NJS代码,大家都会给你点赞的,我们也会为每位共享NJS代码的朋友送上200积分。
Android平台
调用Android本地分享
http://ask.dcloud.net.cn/article/134
直接拨打电话
http://ask.dcloud.net.cn/question/4035
将程序切换到后台
http://ask.dcloud.net.cn/question/2484
强制弹出软键盘
http://ask.dcloud.net.cn/question/2324
获取安卓设备device.uuid
http://ask.dcloud.net.cn/question/3510
获取内存及CPU信息
http://ask.dcloud.net.cn/question/2202
开启关闭蓝牙
http://ask.dcloud.net.cn/question/4720
监听蓝牙开关状态
http://ask.dcloud.net.cn/article/274
获取蓝牙设备列表
http://ask.dcloud.net.cn/question/8265
蓝牙连接票据打印机完整代码
http://ask.dcloud.net.cn/article/643
NFC数据读取
http://ask.dcloud.net.cn/question/6726
截屏
http://ask.dcloud.net.cn/question/5344
获取MAC地址
http://ask.dcloud.net.cn/question/1511
获取设备当前网速
http://ask.dcloud.net.cn/article/773
打开网络设置
http://ask.dcloud.net.cn/question/1475
打开各种系统设置界面
http://ask.dcloud.net.cn/question/14732
获取WIFI列表
http://ask.dcloud.net.cn/question/12113
调用系统控件播放视频
http://ask.dcloud.net.cn/question/614
调用os通讯录选择控件
http://ask.dcloud.net.cn/question/5783
原生日历提醒插入
http://ask.dcloud.net.cn/article/215
调用系统控件裁剪图片
http://ask.dcloud.net.cn/question/8314
复制内容到系统粘贴板
http://ask.dcloud.net.cn/question/2034
调用讯飞的文字转语音功能(TTS)
http://ask.dcloud.net.cn/question/6473
调用其它Activity后通过startActivityForResult获取返回结果
http://ask.dcloud.net.cn/question/5783
接收系统广播消息,如监听安装卸载apk的事件
http://ask.dcloud.net.cn/article/222
判断app是否安装
http://ask.dcloud.net.cn/question/7604
以监听手机飞行模式开关为例说明如何使用Native.js进行BroadcastReceiver广播
http://ask.dcloud.net.cn/question/7661
常驻Android通知栏,不用个推实现本地消息推送(Local Notification)
http://ask.dcloud.net.cn/question/2464
调用原生的socket连接
http://ask.dcloud.net.cn/question/60
启动一个原生service
http://ask.dcloud.net.cn/question/433
基于native.js的文件系统管理功能实现
http://ask.dcloud.net.cn/article/809
打开闪光灯
http://ask.dcloud.net.cn/question/19379
停止、开启个推推送功能
var pushManager = plus.android.importClass("com.igexin.sdk.PushManager");
var context = plus.android.runtimeMainActivity();
function enable() {
pushManager.getInstance().turnOnPush(context);
}
function disable() {
pushManager.getInstance().turnOffPush(context);
}
感谢yeahcheung分享
利用native.js获取手机gps是否开启
http://ask.dcloud.net.cn/question/11890
通过native.js设置系统墙纸
http://ask.dcloud.net.cn/article/651
iOS平台
获取包名
var NSBundle = plus.ios.importClass('NSBundle');
var bundle = NSBundle.mainBundle();
console.log(bundle.bundleIdentifier());
plus.ios.deleteObject(bundle);
获取设备名
http://ask.dcloud.net.cn/question/14691
测试是否安装某应用
http://ask.dcloud.net.cn/question/14430
调用iOS打印API
http://ask.dcloud.net.cn/question/4226
通过native.js登入game center
见Hello H5+里Native.js部分演示及源码。
或在这里搜索“game center”,http://ask.dcloud.net.cn/docs/#http://ask.dcloud.net.cn/article/88
设置获取内容到系统粘贴板
http://ask.dcloud.net.cn/question/3720
打开页面默认弹出键盘
http://ask.dcloud.net.cn/question/2324
播放提示音
http://ask.dcloud.net.cn/question/3962
调用ios的文字转语音(TTS)
http://ask.dcloud.net.cn/question/4175
把base64数据保存为图片
http://ask.dcloud.net.cn/question/6190
设置webview滑动减速度
var webview = plus.ios.currentWebview();
var scrollView = webview.plusGetAttribute("scrollView");
scrollView.plusSetAttribute("decelerationRate:",0.99);
打开ios的Wifi设置页面
http://ask.dcloud.net.cn/question/7797
判断是否开启消息通知
http://ask.dcloud.net.cn/question/4497
检测iOS是否允许使用相机(感谢小闹分享)
http://ask.dcloud.net.cn/article/188
ios获取系统的时区id
var NSTimeZone = plus.ios.importClass("NSTimeZone");
var sys = NSTimeZone.systemTimeZone();
console.log(sys.plusGetAttribute("name"));
状态栏显示网络请求雪花
var UIApplication = plus.ios.import("UIApplication");
var sharedApplication = UIApplication.sharedApplication();
sharedApplication.setNetworkActivityIndicatorVisible(true);
plus.ios.deleteObject(sharedApplication);
获取GPS授权状态
var CLLocationManager = plus.ios.import("CLLocationManager");
var authorizationStatus = CLLocationManager.authorizationStatus();
switch(authorizationStatus) {
case 0:
/// User has not yet made a choice with regards to this application
break;
case 1:
// This application is not authorized to use location services. Due
// to active restrictions on location services, the user cannot change
// this status, and may not have personally denied authorization
break;
case 2:
// User has explicitly denied authorization for this application, or
// location services are disabled in Settings.
break;
case 3:
// User has granted authorization to use their location at any time,
// including monitoring for regions, visits, or significant location changes.
break;
case 4:
// User has granted authorization to use their location only when your app
// is visible to them (it will be made visible to them if you continue to
// receive location updates while in the background). Authorization to use
// launch APIs has not been granted.
break;
case 5:
// This value is deprecated, but was equivalent to the new -Always value.
break;
defalut:
break;
}
获取手机存储空间
var BundleClass = plus.ios.importClass("NSBundle");
var BundleObj = BundleClass.mainBundle();
var filenamagerobj = plus.ios.newObject("NSFileManager");
var FileAttr = plus.ios.invoke(filenamagerobj,"attributesOfFileSystemForPath:error:",BundleObj.bundlePath(),null);
// NSFileSystemFreeSize 参数获取剩余空间
// NSFileSystemSize 获取手机总存储空间
var freeSpace = plus.ios.invoke(FileAttr,"objectForKey:","NSFileSystemFreeSize");
var numberFormatterObj = plus.ios.newObject("NSNumberFormatter");
var FreeSpaceStr = plus.ios.invoke(numberFormatterObj,"stringFromNumber:",freeSpace);
var freeSpace = FreeSpaceStr / 1024/1024/1024;
打开/关闭手机的闪光灯
function turnonLight(isOn) {
if(plus.os.name == "iOS") {
var avcaptClass = plus.ios.importClass("AVCaptureDevice");
if(avcaptClass) {
var device = avcaptClass.defaultDeviceWithMediaType("vide");
plus.ios.invoke(device, "lockForConfiguration:", null);
if(isOn) {
plus.ios.invoke(device, "setTorchMode:", 1);
plus.ios.invoke(device, "setFlashMode:", 1);
} else {
plus.ios.invoke(device, "setTorchMode:", 0);
plus.ios.invoke(device, "setFlashMode:", 0);
}
plus.ios.invoke(device, "unlockForConfiguration");
}
}
};
显示应用内的ViewController
// NewViewController为应用内创建的原生的ViewController类名,所调用页面的内容需要在原生代码中完成
var newVCobj = plus.ios.newObject("NewViewController");
var UIApplicationClass = plus.ios.importClass("UIApplication");
var UIAppObj = UIApplicationClass.sharedApplication();
var del = plus.ios.invoke(UIAppObj,"delegate");
// 如果当前应用delegate对象包含UIWindow对象并且变量名命名为“window”可以这么写,
// 否则需要根据实际代码情况修改
// 应用的delegate对象也可以添加一个返回UIViewController的方法
var appWindowObj = plus.ios.invoke(del,"window");
var appRootController = plus.ios.invoke(appWindowObj,"rootViewController");
plus.ios.invoke(appRootController,"presentViewController:animated:completion:",newVCobj,"YES",null);
看完这些例子,是不是觉得JS特别强大?
赶快拿去用起来吧!
调用手机端硬件功能 汇总(android/ios) Native.js示例汇总的更多相关文章
- Native.js示例汇总
Native.js虽然强大和开放,但很多web开发者因为不熟悉原生API而难以独立完成.这篇帖子的目的就是汇总各种写好的NJS代码,方便web开发者.众人拾柴火焰高,有能力的开发者多多提交NJS代码, ...
- 移动手机端H5无缝间歇平滑向上滚动js代码
在没结合css3的transform实现平滑过渡前,我都是用的jquery的animate方法,此方法在PC端基本看不出来有稍微卡顿的现象,但是在性能不高的手机上使用该方法,就会有明显的卡顿现象,不够 ...
- 手机端移动端的选择框mobileSelect.js使用
手机端移动端的选择框mobileSelect.js使用 文件地址:https://github.com/onlyhom/mobileSelect.js 请感兴趣的自行下载 使用过程 1 引入标签 &l ...
- 手机端两端对齐,兼容ios,安卓
.div-title p label{ text-align: justify; width: 18%; display: inline-block; text-align-last: justify ...
- 手机端上传未知图片大小,js设置宽高比例
<style rel="stylesheet" type="text/css"> .lunboimg{ width: 100%; height: a ...
- wap手机端解决返回上一页,js
<input id="hd_referrer" type="hidden" /> <a href="j ...
- HTML5手机端拍照上传
1.accept="image/*" capture="camera" 自动调用手机端拍照功能 accept="image/*" captu ...
- mui初级入门教程(七)— 基于native.js的文件系统管理功能实现
文章来源:小青年原创发布时间:2016-08-01关键词:mui,nativejs,android转载需标注本文原始地址: http://zhaomenghuan.github.io... 前言 这段 ...
- 手机端扫描证件识别SDK
手机端扫描证件识别SDK 一.手机端扫描证件识别SDK应用背景 这些年,随着移动互联网的的发展,越来越多的公司都推出了自己的移动APP,这些APP多数都涉及到个人身份证信息的输入认证(即实名认证),如 ...
随机推荐
- [BZOJ4942] [NOI2017]整数
题目背景 在人类智慧的山巅,有着一台字长为1048576位(此数字与解题无关)的超级计算机,著名理论计算机科 学家P博士正用它进行各种研究.不幸的是,这天台风切断了电力系统,超级计算机 无法工作,而 ...
- 控制Docker Compose的启动顺序的一个思路
起源 守护进程daemon 从守护进程的角度看Docker Compose Docker的解决方案 思路 代码 结果 起源 Docker Compose提供了一个depends_on参数. https ...
- POJ3070:Fibonacci——题解
http://poj.org/problem?id=3070 题目大意:求Fibonacci数列第n项,对10000取模. 矩阵乘法板子题……实在不知道写什么了. #include<iostre ...
- BZOJ4009 & 洛谷3242 & LOJ2113:[HNOI2015]接水果——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=4009 https://www.luogu.org/problemnew/show/P3242 ht ...
- BZOJ2298:[HAOI2011]problem a——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=2298 https://www.luogu.org/problemnew/show/P2519 一次 ...
- 洛谷3805:【模板】manacher算法——题解
https://www.luogu.org/problemnew/show/P3805 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 字符串长度为n 板子题, ...
- 直通BAT面试算法精讲课1
1.有一棵二叉树,请设计一个算法,按照层次打印这棵二叉树. 给定二叉树的根结点root,请返回打印结果,结果按照每一层一个数组进行储存,所有数组的顺序按照层数从上往下,且每一层的数组内元素按照从左往右 ...
- js正则表达式,判断字符串是否以数字组结尾,并取出结尾的数字
js正则表达式,判断字符串是否以数字组结尾,并取出结尾的数字 <!DOCTYPE html> <html> <head> <meta charset=&quo ...
- sql 中sum函数返回null的解决方案
SUM 是SQL语句中的标准求和函数,如果没有符合条件的记录,那么SUM函数会返回NULL. 但多数情况下,我们希望如果没有符合条件记录的情况下,我们希望它返回0,而不是NULL,那么我们可以使用例如 ...
- 【BZOJ】1589: [Usaco2008 Dec]Trick or Treat on the Farm 采集糖果
[算法]基环树DP [题意]给定若干有向基环树,每个点能走的最远路径长度. [题解] 参考:[BZOJ1589]Trick or Treat on the Farm 基环树裸DP by 空灰冰魂 考虑 ...