JavaScript强化教程——Native.js示例汇总
程序员文章站
2024-02-01 11:32:22
...
本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:JavaScript强化教程 —— Native.js示例汇总
Native.js虽然强大和开放,但很多web开发者因为不熟悉原生API而难以独立完成。
这篇帖子的目的就是汇总各种写好的NJS代码,方便web开发者。
众人拾柴火焰高,有能力的开发者多多提交NJS代码,大家都会给你点赞的,
Android平台
在桌面创建和删除App快捷方式
见Hello H5+里Native.js部分演示及源码。
或在这里搜索“快捷方式”,http://ask.dcloud.net.cn/docs/ ... le/88
调用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
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/question/1475
打开位置信息
http://ask.dcloud.net.cn/question/14731
获取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
停止、开启个推推送功能
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/ ... le/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;
看完这些例子,是不是觉得JS特别强大?
赶快拿去用起来吧!
Native.js虽然强大和开放,但很多web开发者因为不熟悉原生API而难以独立完成。
这篇帖子的目的就是汇总各种写好的NJS代码,方便web开发者。
众人拾柴火焰高,有能力的开发者多多提交NJS代码,大家都会给你点赞的,
Android平台
在桌面创建和删除App快捷方式
见Hello H5+里Native.js部分演示及源码。
或在这里搜索“快捷方式”,http://ask.dcloud.net.cn/docs/ ... le/88
调用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
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/question/1475
打开位置信息
http://ask.dcloud.net.cn/question/14731
获取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
停止、开启个推推送功能
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/ ... le/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;
看完这些例子,是不是觉得JS特别强大?
赶快拿去用起来吧!