
Native.JS
187 人关注该话题
哪里可以看h5plus的源码? WEBSOCKET Native.JS html5plus uniapp
e***@gmail.com 2025-07-04 17:00 发起问题 • 1 人关注 • 0 个回复 • 65 次浏览
怎么检测app的 附近的设备 权限是否开启 Native.JS
5***@qq.com 2025-05-22 13:30 回复问题 • 2 人关注 • 1 个回复 • 300 次浏览
实现ios app getUserMedia不弹出权限提示,但闪退 uniapp Native.JS iOS
态度是心的面具 2025-04-30 13:15 回复问题 • 4 人关注 • 4 个回复 • 3026 次浏览
使用native.js怎么接收通知和发送通知 通知 Native.JS HBuilderX
driftPang 2025-03-27 13:39 回复问题 • 2 人关注 • 2 个回复 • 133 次浏览
uniapp基于native.js扫描ble蓝牙设备 Android Native.JS uniapp 低功耗蓝牙
DCloud_App_Array 2025-03-11 16:41 回复问题 • 1 人关注 • 1 个回复 • 261 次浏览
uniapp中使用importClass引入了类 Native.JS uniapp
y***@163.com 2025-01-24 15:16 发起问题 • 1 人关注 • 0 个回复 • 151 次浏览
plus.runtime.install执行时能不能不要有取消按钮,或者能监听到取消按钮,我这边想要apk强制更新 Native.JS
靐齉齾麤龖龗 2024-11-16 17:09 回复问题 • 1 人关注 • 2 个回复 • 264 次浏览
如何将js中的字节数组写入到Object-c中的NSData中呢? Native.JS
468 2024-07-30 17:38 发起问题 • 1 人关注 • 0 个回复 • 235 次浏览
如何使用nativejs将Object-c中的NSData转为NSString Native.JS
468 2024-07-26 18:02 发起问题 • 1 人关注 • 0 个回复 • 246 次浏览
建立的wap2app 项目或5+app 项目如何获得设备的唯一标识 wap2app Native.JS 华为 HBuilderX
2***@qq.com 2024-07-23 17:03 发起问题 • 1 人关注 • 0 个回复 • 278 次浏览
H5项目使用native.js连接蓝牙打印机,报错,怎么解决?求大佬帮助 Native.JS
7***@qq.com 2024-07-09 16:54 发起问题 • 1 人关注 • 0 个回复 • 314 次浏览
Android 10以上的系统怎样直连WIFI Native.JS
qjr 2024-06-24 18:09 回复问题 • 1 人关注 • 1 个回复 • 531 次浏览
赞同来自: 吃西瓜的花猫 、Trust 、4***@qq.com
```javascript
function testSocket(){
if (plus.os.name == "Android") {
... 显示全部 »
```javascript
function testSocket(){
if (plus.os.name == "Android") {
var Socket = plus.android.importClass("java.net.Socket");
var PrintWriter = plus.android.importClass("java.io.PrintWriter");
var BufferedWriter = plus.android.importClass("java.io.BufferedWriter");
var OutputStreamWriter = plus.android.importClass("java.io.OutputStreamWriter");
var BufferedReader = plus.android.importClass("java.io.BufferedReader");
var InputStreamReader = plus.android.importClass("java.io.InputStreamReader");
var socket = new Socket("192.168.23.8", 8080);
var outputStreamWriter = new OutputStreamWriter(socket.getOutputStream());
var bufferWriter = new BufferedWriter(outputStreamWriter);
var out = new PrintWriter(bufferWriter, true);
out.println("Conneted...");
var inputStreamReader = new InputStreamReader(socket.getInputStream());
var br = new BufferedReader(inputStreamReader);
var msg = br.readLine();
//while(true)
{
if(msg != null)
{
console.log(msg);
}
//msg = br.readLine();
}
}
//console.log(mac);
alert("Done");
}
```
“获取手机内存信息”方法代码有点问题,正确代码如下:
``` javascript
/*获取手机内存信息*/
function getMemorySize() {
var memoryInfo = '';
if (p... 显示全部 »
“获取手机内存信息”方法代码有点问题,正确代码如下:
``` javascript
/*获取手机内存信息*/
function getMemorySize() {
var memoryInfo = '';
if (plus.os.name == "Android") {
var Context = plus.android.importClass("android.content.Context");
var ActivityManager = plus.android.importClass("android.app.ActivityManager");
var mi = new ActivityManager.MemoryInfo();
var activityService = plus.android.runtimeMainActivity().getSystemService(Context.ACTIVITY_SERVICE);
activityService.getMemoryInfo(mi);
memoryInfo = mi.plusGetAttribute("availMem");
}
return memoryInfo;
}
```
**旧版本HBuilder runtime获取属性值方法plusGetAttribute返回的值不正确,需要更新到最新版本**
赞同来自: DCloud_heavensoft 、DIOGO 、Trust
這個問題就自行回答了 :P
HTML5+ API 的推送,請參考 [Push模块管理推送消息功能](http://dcloud.io/docs/api/zh_cn/push.shtml)
Dclo... 显示全部 »
這個問題就自行回答了 :P
HTML5+ API 的推送,請參考 [Push模块管理推送消息功能](http://dcloud.io/docs/api/zh_cn/push.shtml)
Dcloud也集成了個推的功能,請參考 [推送插件配置](http://ask.dcloud.net.cn/docs/#http://ask.dcloud.net.cn/article/92) 、 [推送插件开发指南](http://ask.dcloud.net.cn/docs/#http://ask.dcloud.net.cn/article/34)
而原生的文檔,請參考谷歌的 [Notification](http://developer.android.com/reference/android/app/Notification.html) 、 [Notification.Builder](http://developer.android.com/reference/android/app/Notification.Builder.html) 、[NotificationManager](http://developer.android.com/reference/android/app/NotificationManager.html)
代碼如下,效果比較接近5+ 的Push
```javascript
var NotifyID = 1;
var Context = plus.android.importClass("android.content.Context");
var main = plus.android.runtimeMainActivity();
var Noti = plus.android.importClass("android.app.Notification");
var NotificationManager = plus.android.importClass("android.app.NotificationManager");
var nm = main.getSystemService(Context.NOTIFICATION_SERVICE)
var Notification = plus.android.importClass("android.app.Notification");
var mNotification = new Notification.Builder(main);
mNotification.setOngoing(true);
mNotification.setContentTitle("Hbuilder")
mNotification.setContentText("MUI & 5+ 大好!")
mNotification.setSmallIcon(17301620)
mNotification.setTicker("PadInfo")
mNotification.setNumber(10)
var mNb = mNotification.build()
nm.notify(NotifyID , mNb);
```
實際效果:
** 插入的附件 **
這個可以直接實現本地推送,固定在通知栏。
如果要可以从通知栏刪掉的,請去除掉 mNotification.setOngoing(true) 這行代碼即可
赞同来自: beckzl 、b***@163.com 、t***@qq.com
``` javascript
var main = plus.android.runtimeMainActivity();
main.moveTaskToBack(false);
```
**注意:请更新HBuild... 显示全部 »
``` javascript
var main = plus.android.runtimeMainActivity();
main.moveTaskToBack(false);
```
**注意:请更新HBuilder到5.2.0以上版本**
var mainActivity = plus.android.runtimeMainActivity();
var Settings= plus.android.importClass("android.provid... 显示全部 »
var mainActivity = plus.android.runtimeMainActivity();
var Settings= plus.android.importClass("android.provider.Settings");
console.log(Settings.Secure.getString(mainActivity.getContentResolver(),Settings.Secure.ANDROID_ID));
```
@DCloud_App_Array
var AVCaptureDevice = plus.ios.importClass("AVCaptureDevice");
var authStatus =AVCaptureDevice.authorizati... 显示全部 »
var AVCaptureDevice = plus.ios.importClass("AVCaptureDevice");
var authStatus =AVCaptureDevice.authorizationStatusForMediaType ("vide");
```
赞同来自: 1***@qq.com 、孟泽伟 、1***@qq.com
```javascript
var AVAudioSession = plus.ios.importClass("AVAudioSession");
var AVSpeechSynthesizer = pl... 显示全部 »
```javascript
var AVAudioSession = plus.ios.importClass("AVAudioSession");
var AVSpeechSynthesizer = plus.ios.importClass("AVSpeechSynthesizer");
var AVSpeechUtterance = plus.ios.importClass("AVSpeechUtterance");
var AVSpeechSynthesisVoice = plus.ios.import("AVSpeechSynthesisVoice");
AVAudioSession.sharedInstance().setCategoryerror("AVAudioSessionCategoryPlayback",null);
var sppech = new AVSpeechSynthesizer();
var utterance = AVSpeechUtterance.speechUtteranceWithString("共产主义接班人");
utterance.plusSetAttribute("rate",0.3);
sppech.speakUtterance(utterance);
//停止
sppech.stopSpeakingAtBoundary(0)
//暂停
sppech.pauseSpeakingAtBoundary(0);
//继续
sppech.continueSpeaking(0);
plus.ios.deleteObject(voice);
plus.ios.deleteObject(utterance);
plus.ios.deleteObject(sppech);
plus.ios.deleteObject(AVAudioSession);
```
**需iOS7.0及以上系统支持此功能**
**Android平台参考[http://ask.dcloud.net.cn/question/6473](http://ask.dcloud.net.cn/question/6473)**
赞同来自: CKHan 、iamhuhongtao
需要对你的代码进行修正如下:
main = plus.android.runtimeMainActivity();
Context = plus.android.importClass("android.content.Context");
BManager = main.getSystemService(Context.BLUETOOTH_SERVICE);
plus.android.importClass(BManager);//引入相关的method函数
BAdapter = BManager.getAdapter();
plus.android.importClass(BAdapter);//引入相关的method函数,这样之后才会有isEnabled函数支持
if(!BAdapter.isEnabled()) {
BAdapter.enable();
}
同时建议,由于BluetoothManager.getAdapter()属于level18版本,在18以下版本肯定是不能使用的。还请使用BluetoothAdapter.getDefaultAdapter() 方式实现。
赞同来自: 小云菜 、jwenlee 、Gaollg 、蔡繁荣 、Trust 更多 »
plus.webview补充了截屏方法,这个效率更高,而且ios、Android都可以直接用。[http://html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewObject.dra... 显示全部 »
plus.webview补充了截屏方法,这个效率更高,而且ios、Android都可以直接用。[http://html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewObject.draw](http://html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewObject.draw)
以下为过期信息===========================================
不需要插件,Native.js搞定。附件是一段Native.js代码。
```javascript
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
if(window.plus){
plusReady();
}else{
document.addEventListener("plusready",plusReady,false);
}
var Activity,view,viewClass,BitmapFactory,StringBuffer,Byte,CompressFormat,ByteArrayOutputStream,str,bBitmap,bStream,bytes,Base64;
var bitmap = null;
function plusReady(){
// 导入Native.js需要的原生对象
Activity = plus.android.runtimeMainActivity();
BitmapFactory = plus.android.importClass("android.graphics.BitmapFactory");
StringBuffer = plus.android.importClass("java.lang.StringBuffer")
Byte = plus.android.importClass("java.lang.Byte");
CompressFormat = plus.android.importClass("android.graphics.Bitmap.CompressFormat");
bBitmap = plus.android.importClass("android.graphics.Bitmap");
ByteArrayOutputStream = plus.android.importClass("java.io.ByteArrayOutputStream");
Base64 = plus.android.importClass("android.util.Base64");
//viewClass = plus.android.importClass("android.view.View");
document.getElementById("btGetCapture").disabled="";
}
function getCapture () {
//配置view缓存
view = Activity.getCurrentFocus();
plus.android.invoke(view,"setDrawingCacheEnabled",true);
plus.android.invoke(view,"buildDrawingCache");
//对view截图,存入bitmap中
bitmap = plus.android.invoke(view,"getDrawingCache");
if (bitmap != null) {
console.log("截图成功");
// 将原生Bitmap转换成Base64字符串,赋值给js变量
try {
str = new StringBuffer();
bStream = new ByteArrayOutputStream();
bitmap.compress(bBitmap.CompressFormat.PNG, 100, bStream);
bStream.flush();
bStream.close();
bytes = bStream.toByteArray();
str.append(Base64.encodeToString(bytes, Base64.NO_WRAP));
} catch (e) {
console.log(e.message);
}
console.log("截图字节长度:"+str.length());
document.getElementById("imgCapture").src = "data:image/png;base64," + str.toString();
}
else {
console.log("截图失败,请重试"); //此处可以进一步优化为失败后循环截图直到获取到截图
}
}
</script>
<style type="text/css">
body{
margin: 0px; padding: 0px;
}
</style>
</head>
<body>
<!--<button onclick="history.back()">后退</button>-->
<button onclick="location.reload()">刷新</button>
<button id="btGetCapture" onclick="getCapture()" disabled="disabled"> 截图 </button>
<img id="imgCapture" style="width: 100%;"/>
</body>
</html>
```
```javascript
var main = plus.android.runtimeMainActivity();
var SynthesizerPlayer = plus.android.importClass('com.iflytek.speech.SynthesizerPlayer');
var play = SynthesizerPlayer.createSynthesizerPlayer(main,'appid=5177d8fe');
play.playText('水果',null,null);
```
**iOS平台参考[http://ask.dcloud.net.cn/question/4175)(http://ask.dcloud.net.cn/question/4175)**
赞同来自: DCloud_heavensoft 、蔡繁荣 、braveheart 、ZhangYejun
================================
大家先尝鲜一... 显示全部 »
================================
大家先尝鲜一下,我仅测试读公交卡了。数据可以出来,具体哪些数据有用,需要专业开发者补充完善分享。在此先谢过了。
```
function test_nfc(){
var main = plus.android.runtimeMainActivity();
var Intent = plus.android.importClass('android.content.Intent');
var Activity = plus.android.importClass('android.app.Activity');
var PendingIntent = plus.android.importClass('android.app.PendingIntent');
var IntentFilter = plus.android.importClass('android.content.IntentFilter');
var NfcAdapter = plus.android.importClass('android.nfc.NfcAdapter');
var nfcAdapter = NfcAdapter.getDefaultAdapter(main);
var intent = new Intent(main, main.getClass());
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
var pendingIntent = PendingIntent.getActivity(main, 0, intent, 0);
var ndef = new IntentFilter("android.nfc.action.TECH_DISCOVERED");
ndef.addDataType("*/*");
var intentFiltersArray = [ndef];
var techListsArray = [["android.nfc.tech.IsoDep"], ["android.nfc.tech.NfcA"], ["android.nfc.tech.NfcB"], ["android.nfc.tech.NfcF"], ["android.nfc.tech.Nfcf"], ["android.nfc.tech.NfcV"], ["android.nfc.tech.NdefFormatable"], ["android.nfc.tech.MifareClassi"], ["android.nfc.tech.MifareUltralight"]];
document.addEventListener("newintent",
function() {
console.log('newintent');
setTimeout(handle_nfc_data,1000);
}, false);
document.addEventListener("pause", function(e) {
if (nfcAdapter) {
nfcAdapter.disableForegroundDispatch(main);
console.log('pause');
}
}, false);
document.addEventListener("resume", function(e) {
if (nfcAdapter) {
console.log('resume');
nfcAdapter.enableForegroundDispatch(main, pendingIntent, intentFiltersArray, techListsArray);
}
}, false);
nfcAdapter.enableForegroundDispatch(main, pendingIntent, intentFiltersArray, techListsArray);
}
function handle_nfc_data(){
var main = plus.android.runtimeMainActivity();
var runtimeIntent = main.getIntent();
var b = runtimeIntent.getExtras();
plus.android.importClass(b);
var set = b.keySet();
plus.android.importClass(set);
var sb;
var i = set.iterator();
plus.android.importClass(i);
var hasNest = i.hasNext();
var NfcA = plus.android.importClass("android.nfc.tech.NfcA");
var IsoDep = plus.android.importClass("android.nfc.tech.IsoDep");
var Tag = plus.android.importClass("android.nfc.Tag");
while (hasNest) {
var key = i.next();
var v = b.get(key);
if(v instanceof NfcA){
var atqa = v.getAtqa();
var sak = v.getSak();
var tag = g.getTag();
plus.android.importClass(tag);
var techList = tag.getTechList();
console.log('NfcA Atqa=' + atqa + ";Sak=" + sak + ";techList=" + techList);
}else if(v instanceof IsoDep){
var tag = g.getTag();
plus.android.importClass(tag);
var techList = tag.getTechList();
console.log('IsoDep techList=' + techList);
}else if(v instanceof Tag){
var tag = v;
var techList = tag.getTechList();
console.log('Tag techList=' + techList);
}
console.log(key + ';v=' + v);
sb = key + "=" + v + "\n";
hasNest = i.hasNext();
console.log('hasNest=' + hasNest);
}
}
```
var activity = plus.android.runtimeMainActivity();
var Intent = plus.android.importClass("android... 显示全部 »
var activity = plus.android.runtimeMainActivity();
var Intent = plus.android.importClass("android.content.Intent");
var intent = new Intent(activity.getIntent());
intent.setClassName(activity, "com.HBuilder.integrate.SDK_WebApp");
activity.startActivity(intent);
精华 Native.js示例汇总 NJS Native.JS 示例
四叶草秘密2025-06-25 16:19 评论文章 • 169 个评论 • 644625 次浏览
分享一下Uniapp安卓调用 微信一次性订阅 消息的方法 Native.JS
1***@qq.com2025-05-30 16:31 评论文章 • 9 个评论 • 2113 次浏览
精华 贡献native.js(NJS)一些代码,将持续更新 Native.JS NJS
越前君2025-04-15 14:17 评论文章 • 4 个评论 • 2000 次浏览
【IOS相册权限】Native.js IOS相册权限获取 弹窗请求授权 Native.JS
为一张脸一身伤2025-03-30 02:49 评论文章 • 1 个评论 • 529 次浏览
精华 安卓Native.js蓝牙连接票据打印机完整代码已测试修改 源码 Native.JS
d***@rootcloud.com2025-03-27 18:31 评论文章 • 141 个评论 • 82947 次浏览
分享下安卓下文件和目录的读取,写入,移动,删除 Native.JS 文件 安卓
1***@163.com2025-03-24 09:21 评论文章 • 4 个评论 • 3209 次浏览
安卓11及以上版本申请所有文件访问权限 Native.JS
用户27461052025-03-05 19:07 评论文章 • 5 个评论 • 6738 次浏览
精华 android NFC MifareClassic 读IC卡加密扇区方法 uniapp Native.JS NFC Android
4***@qq.com2024-12-04 18:36 评论文章 • 22 个评论 • 14747 次浏览
Android 获取 手机本机 MAC 地址 支持 所有 Android 版本 Android Native.JS MAC地址
z***@163.com2024-11-15 15:59 评论文章 • 10 个评论 • 8257 次浏览
android遍历短信/读取短信 Native.JS
r***@126.com2024-11-15 15:50 评论文章 • 3 个评论 • 1185 次浏览
nativejs android获取wifi强度及状态 Native.JS Android
1***@163.com2024-11-12 13:33 发表文章 • 0 个评论 • 169 次浏览