ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript 拡張チュートリアル - Native.js の例の概要

JavaScript 拡張チュートリアル - Native.js の例の概要

黄舟
黄舟オリジナル
2017-01-21 16:01:461600ブラウズ

Native.js は強力でオープンですが、多くの Web 開発者はネイティブ API に慣れていないため、独自に完成させるのが困難です。
この投稿の目的は、Web 開発者の便宜のために、記述されたさまざまな NJS コードを要約することです。
誰もが火に油を注ぐ、有能な開発者がより多くの NJS コードを提出すると、誰もがあなたに「いいね!」をくれるでしょう、
Android プラットフォーム
デスクトップにアプリのショートカットを作成および削除する

见Hello H5+里Native.js部分演示及源码。
或在这里搜索“快捷方式”,http://ask.dcloud.net.cn/docs/ ... le/88调用Android本地分享 
 
获取安卓设备device.uuid 
 
数据读取 
打开网络设置 
调用系统控件播放视频 
 
调用讯飞的文字转语音功能(TTS) 
接收系统广播消息,如监听安装卸载apk的事件 
例说明如何使用Native.js进行BroadcastReceiver广播http://ask.dcloud.net.cn/question/7661常驻Android通知栏,不用个推实现本地消息推送(Local Notification)
 
开启个推推送功能
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/651iOS平台
获取包名
var NSBundle = plus.ios.importClass('NSBundle');
var bundle = NSBundle.mainBundle();
console.log(bundle.bundleIdentifier());
plus.ios.deleteObject(bundle);
获取设备名 
native.js登入game center
见Hello H5+里Native.js部分演示及源码。
或在这里搜索“game center”,http://ask.dcloud.net.cn/docs/ ... le/88设置获取内容到系统粘贴板 
 
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/article/188ios获取系统的时区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特别强大?
赶快拿去用起来吧!

上記は JavaScript 拡張チュートリアル - ネイティブの js サンプルの概要です。 、その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。