http://ask.dcloud.net.cn/article/114
Native.js雖然強大和開放,但很多web開發者因為不熟悉原生API而難以獨立完成。
這篇帖子的目的就是匯總各種寫好的NJS代碼,方便web開發者。
眾人拾柴火焰高,有能力的開發者多多提交NJS代碼,大家都會給你點贊的,我們也會為每位共享NJS代碼的朋友送上200積分。
Android平臺
在桌面創建和刪除App快捷方式
見Hello H5+里Native.js部分演示及源碼。
或在這里搜索“快捷方式”,http://ask.dcloud.net.cn/docs/#http://ask.dcloud.net.cn/article/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/#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");
}
}
};
~~~
看完這些例子,是不是覺得JS特別強大?
趕快拿去用起來吧!
- mui
- 拓展
- 本地存儲
- 獲取時間
- 滾動幀聽
- ui組件
- accordion(折疊面板)
- actionsheet(操作表)
- badge(數字角標)
- button(按鈕)
- cardview(卡片視圖)
- checkbox(復選框)
- dialog(對話框)
- 圖片輪播
- 輸入增強
- list(列表)
- 遮罩蒙版
- media list(圖文列表)
- numbox(數字輸入框)
- 側滑導航
- 彈出菜單
- picker(選擇器)
- popPicker
- dtpicker
- progressbar(滾動條)
- radio(單選框)
- range(滑塊)
- scroll(區域滾動)
- slide(輪播組件)
- switch(開關)
- 手機底層
- 蜂鳴提示音和手機震動
- 設備信息
- 手機信息
- 電話
- 發送短信
- 消息框
- 瀏覽器打開網頁
- 界面
- 手勢
- 輪播組件
- 底部導航
- 打開新頁面
- 遮罩
- webview詳解
- js基礎
- 數組
- mui教程
- 教程— html5+ webview 底部欄用法詳解(二)(轉載)
- 自動彈出虛擬鍵盤
- Native.js示例匯總