3-3 uniapp、HTML5+、Native.js 功能代码汇总

本文只适用于 APP

代码汇总

Android平台

监听手机锁屏,解锁,开屏

var receiver;
mui.plusReady(function () {// 获取activitymain = plus.android.runtimeMainActivity();// 广播接收var ALARM_RECEIVER = "alarm_receiver";receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {// 实现onReceiver回调函数onReceive: function (context, intent) {var Intent = plus.android.importClass('android.content.Intent');console.log(intent.getAction());//action = intent.getAction();if (intent.getAction() == Intent.ACTION_SCREEN_ON) {console.log('开屏')} else if (intent.getAction() == Intent.ACTION_SCREEN_OFF) {console.log('锁屏')} else if (intent.getAction() == Intent.ACTION_USER_PRESENT) {console.log('解锁')}result.textContent += '\nAction :' + intent.getAction();main.unregisterReceiver(receiver);}});var IntentFilter = plus.android.importClass('android.content.IntentFilter');var Intent = plus.android.importClass('android.content.Intent');var filter = new IntentFilter();filter.addAction(Intent.ACTION_SCREEN_ON);filter.addAction(Intent.ACTION_SCREEN_OFF);filter.addAction(Intent.ACTION_USER_PRESENT);// 注册监听main.registerReceiver(receiver, filter);
})

直接拨打电话

// 弹出询问框
uni.makePhoneCall({phoneNumber: '10086',success: (res) => {console.log('调用成功!')},fail: (res) => {console.log('调用失败!')}
})
// false 直接打了,true 弹出询问框
plus.device.dial("10086", false);
// 不弹出询问框直接拨打电话
// 导入Activity、Intent类
var Intent = plus.android.importClass("android.content.Intent");
var Uri = plus.android.importClass("android.net.Uri");
// 获取主Activity对象的实例
var main = plus.android.runtimeMainActivity();
// 创建Intent
// 这里可修改电话号码
var uri = Uri.parse("tel:10086");
var call = new Intent("android.intent.action.CALL", uri);
// 调用startActivity方法拨打电话
main.startActivity(call);
// ...

将程序切换到后台

var main = plus.android.runtimeMainActivity();
main.moveTaskToBack(false);

强制弹出软键盘

var nativeWebview, imm, InputMethodManager;
var initNativeObjects = function () {if (mui.os.android) {var main = plus.android.runtimeMainActivity();var Context = plus.android.importClass("android.content.Context");InputMethodManager = plus.android.importClass("android.view.inputmethod.InputMethodManager");imm = main.getSystemService(Context.INPUT_METHOD_SERVICE);} else {nativeWebview = plus.webview.currentWebview().nativeInstanceObject();}
};
var showSoftInput = function () {if (mui.os.android) {imm.toggleSoftInput(0, InputMethodManager.SHOW_FORCED);} else {nativeWebview.plusCallMethod({"setKeyboardDisplayRequiresUserAction": false});}setTimeout(function () {var inputElem = document.querySelector('input');inputElem.focus();inputElem.parentNode.classList.add('mui-active'); //第一个是search,加上激活样式}, 200);
};
mui.plusReady(function () {setTimeout(function () {initNativeObjects();showSoftInput();}, 50)
});

获取安卓设备 device.uuid

plus.device.uuid;
var mainActivity = plus.android.runtimeMainActivity();
var Settings = plus.android.importClass("android.provider.Settings");
console.log(Settings.Secure.getString(mainActivity.getContentResolver(), Settings.Secure.ANDROID_ID));

得到手机MAC地址

var mac = "xxx-xxx-xxx-xxx";
if (plus.os.name == "Android") {// WifiManagervar Context = plus.android.importClass("android.content.Context");var WifiManager = plus.android.importClass("android.net.wifi.WifiManager");var wifiManager = plus.android.runtimeMainActivity().getSystemService(Context.WIFI_SERVICE);var WifiInfo = plus.android.importClass("android.net.wifi.WifiInfo");var wifiInfo = wifiManager.getConnectionInfo();mac = wifiInfo.getMacAddress();
}
return mac;
var net = plus.android.importClass("java.net.NetworkInterface")
var wl0 = net.getByName('wlan0')
var macByte = wl0.getHardwareAddress()
var str = ''
// 下面这段代码来自网络
for (var i = 0; i < macByte.length; i++) {var tmp = "";var num = macByte[i];if (num < 0) {tmp = (255 + num + 1).toString(16);} else {tmp = num.toString(16);}if (tmp.length == 1) {tmp = "0" + tmp;}str += tmp;
}
console.log('mac', str)

获取手机内存信息

var memoryInfo = '';
if (plus.os.name == "Android") {var Context = plus.android.importClass("android.content.Context");var MemoryInfo = plus.android.importClass("android.app.ActivityManager.MemoryInfo");var memortInfo = plus.android.importClass("android.app.ActivityManager");var activityService = plus.android.runtimeMainActivity().getSystemService(Context.ACTIVITY_SERVICE);activityService.getMemoryInfo(MemoryInfo);memoryInfo = memortInfo.availMem;
}
return memoryInfo;

获取手机内部总的存储空间

var internalMemSize = 0;
if (plus.os.name == "Android") {var environment = plus.android.importClass("android.os.Environment");var statFs = plus.android.importClass("android.os.StatFs");var files = plus.android.importClass("java.io.File");var Files = environment.getDataDirectory();var StatFs = new statFs(Files.getPath());var blockSize = parseFloat(StatFs.getBlockSize());var blockCount = parseFloat(StatFs.getBlockCount());internalMemSize = blockSize * blockCount;
}
return internalMemSize;

获取总内存

var memInfo = '/proc/meminfo';
var temp = '',ramSize = '',arrays, initMemory;
var fileReader = plus.android.importClass("java.io.FileReader");
var bufferedReader = plus.android.importClass("java.io.BufferedReader");
var FileReader = new fileReader(memInfo);
var BufferedReader = new bufferedReader(FileReader, 8192);
while ((temp = BufferedReader.readLine()) != null) {if (-1 != temp.indexOf('MemTotal:')) {var value = temp.replace(/[^0-9]/ig, "");ramSize = Math.floor(parseInt(value) / (1024));}
}
return ramSize;

获取手机CPU信息

var cpuInfo = '/proc/cpuinfo';
var temp = '',cpuHardware;
var fileReader = plus.android.importClass("java.io.FileReader");
var bufferedReader = plus.android.importClass("java.io.BufferedReader");
var FileReader = new fileReader(cpuInfo);
var BufferedReader = new bufferedReader(FileReader, 8192);
while ((temp = BufferedReader.readLine()) != null) {if (-1 != temp.indexOf('Hardware')) {cpuHardware = temp.substr(parseInt(temp.indexOf(":")) + 1);}
}
return cpuHardware;

获取CPU核数

var Runtime = plus.android.importClass("java.lang.Runtime");
var cpuCount = Runtime.getRuntime().availableProcessors();
return cpuCount;

启关闭蓝牙

main = plus.android.runtimeMainActivity();
BluetoothAdapter = plus.android.importClass("android.bluetooth.BluetoothAdapter");
BAdapter = BluetoothAdapter.getDefaultAdapter();
if (!BAdapter.isEnabled()) {BAdapter.enable();
}

监听蓝牙开关状态

plus.bluetooth.getBluetoothAdapterState({success: function (e) {console.log('state success: ' + JSON.stringify(e));},fail: function (e) {console.log('state failed: ' + JSON.stringify(e));}
});
plus.bluetooth.onBluetoothAdapterStateChange(function (e) {console.log('state changed: ' + JSON.stringify(e));
});
var main = plus.android.runtimeMainActivity();
var BluetoothAdapter = plus.android.importClass("android.bluetooth.BluetoothAdapter");
var BAdapter = new BluetoothAdapter.getDefaultAdapter();
var resultDiv = document.getElementById('output');
var receiver = plus.android.implements('io.dcloud.android.content.BroadcastReceiver', {// 实现onReceiver回调函数onReceive: function (context, intent) {plus.android.importClass(intent);console.log(intent.getAction());resultDiv.textContent += '\nAction :' + intent.getAction();main.unregisterReceiver(receiver);}
});
var IntentFilter = plus.android.importClass('android.content.IntentFilter');
var filter = new IntentFilter();
// 监听蓝牙开关
filter.addAction(BAdapter.ACTION_STATE_CHANGED);
// 注册监听
main.registerReceiver(receiver, filter);
if (!BAdapter.isEnabled()) {// 启动蓝牙BAdapter.enable();
} else {BAdapter.disable();
}

获取蓝牙设备列表

plus.bluetooth.getBluetoothDevices({success: function (e) {var devices = e.devices;console.log('get devices success: ' + e.length);for (var i in devices) {console.log(i + ': ' + JSON.stringify(devices[i]));}},fail: function (e) {console.log('get devices failed: ' + JSON.stringify(e));}
});
var main = plus.android.runtimeMainActivity();
var Context = plus.android.importClass("android.content.Context");
BManager = main.getSystemService(Context.BLUETOOTH_SERVICE);
// 引入相关的method函数
plus.android.importClass(BManager);
BAdapter = BManager.getAdapter();
// 引入相关的method函数,这样之后才会有isEna
plus.android.importClass(BAdapter);
var lists = BAdapter.getBondedDevices();
plus.android.importClass(lists);
var iterator = lists.iterator();
plus.android.importClass(iterator);
while (iterator.hasNext()) {var d = iterator.next();plus.android.importClass(d);console.log("名称:" + d.getName() + ",地址:" + d.getAddress());
}

蓝牙连接票据打印机完整代码

//address=""搜索蓝牙//address=设备mac地址,自动配对给出mac地址的设备
function searchDevices(address) {//注册类var main = plus.android.runtimeMainActivity();var IntentFilter = plus.android.importClass('android.content.IntentFilter');var BluetoothAdapter = plus.android.importClass("android.bluetooth.BluetoothAdapter");var BluetoothDevice = plus.android.importClass("android.bluetooth.BluetoothDevice");var BAdapter = BluetoothAdapter.getDefaultAdapter();console.log("开始搜索设备");var filter = new IntentFilter();var bdevice = new BluetoothDevice();var on = null;var un = null;var vlist1 = document.getElementById('list1'); //注册容器用来显示未配对设备vlist1.innerHTML = ''; //清空容器var vlist2 = document.getElementById('list2'); //注册容器用来显示未配对设备vlist2.innerHTML = ''; //清空容器var button1 = document.getElementById('bt1');button1.disabled = true;button1.value = '正在搜索请稍候';BAdapter.startDiscovery(); //开启搜索var receiver;receiver = plus.android.implements('io.dcloud.android.content.BroadcastReceiver', {onReceive: function (context, intent) { //实现onReceiver回调函数plus.android.importClass(intent); //通过intent实例引入intent类,方便以后的‘.’操作console.log(intent.getAction()); //获取actionif (intent.getAction() == "android.bluetooth.adapter.action.DISCOVERY_FINISHED") {main.unregisterReceiver(receiver); //取消监听button1.disabled = false;button1.value = '搜索设备';console.log("搜索结束")} else {BleDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);//判断是否配对if (BleDevice.getBondState() == bdevice.BOND_NONE) {console.log("未配对蓝牙设备:" + BleDevice.getName() + '    ' + BleDevice.getAddress());//参数如果跟取得的mac地址一样就配对if (address == BleDevice.getAddress()) {if (BleDevice.createBond()) { //配对命令.createBond()console.log("配对成功");var li2 = document.createElement('li'); //注册li2.setAttribute('id', BleDevice.getAddress()); //打印机mac地址li2.setAttribute('onclick', 'print(id)'); //注册click点击列表进行打印li2.innerText = BleDevice.getName();vlist2.appendChild(li2);}} else {if (BleDevice.getName() != on) { //判断防止重复添加var li1 = document.createElement('li'); //注册li1.setAttribute('id', BleDevice.getAddress()); //打印机mac地址li1.setAttribute('onclick', 'searchDevices(id)'); //注册click点击列表进行配对on = BleDevice.getName();li1.innerText = on;vlist1.appendChild(li1);}}} else {if (BleDevice.getName() != un) { //判断防止重复添加console.log("已配对蓝牙设备:" + BleDevice.getName() + '    ' + BleDevice.getAddress());var li2 = document.createElement('li'); //注册li2.setAttribute('id', BleDevice.getAddress()); //打印机mac地址li2.setAttribute('onclick', 'print(id)'); //注册click点击列表进行打印un = BleDevice.getName();li2.innerText = un;vlist2.appendChild(li2);}}}}});filter.addAction(bdevice.ACTION_FOUND);filter.addAction(BAdapter.ACTION_DISCOVERY_STARTED);filter.addAction(BAdapter.ACTION_DISCOVERY_FINISHED);filter.addAction(BAdapter.ACTION_STATE_CHANGED);main.registerReceiver(receiver, filter); //注册监听
}
var device = null,BAdapter = null,BluetoothAdapter = null,uuid = null,main = null,bluetoothSocket = null;
function print(mac_address) {if (!mac_address) {mui.toast('请选择蓝牙打印机');return;}main = plus.android.runtimeMainActivity();BluetoothAdapter = plus.android.importClass("android.bluetooth.BluetoothAdapter");UUID = plus.android.importClass("java.util.UUID");uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");BAdapter = BluetoothAdapter.getDefaultAdapter();device = BAdapter.getRemoteDevice(mac_address);plus.android.importClass(device);bluetoothSocket = device.createInsecureRfcommSocketToServiceRecord(uuid);plus.android.importClass(bluetoothSocket);if (!bluetoothSocket.isConnected()) {console.log('检测到设备未连接,尝试连接....');bluetoothSocket.connect();}console.log('设备已连接');if (bluetoothSocket.isConnected()) {var outputStream = bluetoothSocket.getOutputStream();plus.android.importClass(outputStream);var string = "打印测试\r\n";var bytes = plus.android.invoke(string, 'getBytes', 'gbk');outputStream.write(bytes);outputStream.flush();device = null //这里关键bluetoothSocket.close(); //必须关闭蓝牙连接否则意外断开的话打印错误}
}

NFC 数据读取

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 ws = plus.webview.currentWebview();
var bitmap = new plus.nativeObj.Bitmap('test');
// 将webview内容绘制到Bitmap对象中
ws.draw(bitmap, function () {console.log('截屏绘制图片成功');
}, function (e) {console.log('截屏绘制图片失败:' + JSON.stringify(e));
});

获取设备当前网速

var TrafficStats; //TrafficStats类实例对象
var total_data; //总共接收到的流量
var traffic_data; //一定时间内接收到的流量
var intervalId; //定时器的返回值,用于控制计时器的停止
document.addEventListener('plusready', function () {//console.log("所有plus api都应该在此事件发生后调用,否则会出现plus is undefined。"TrafficStats = plus.android.importClass("android.net.TrafficStats");total_data = TrafficStats.getTotalRxBytes();intervalId = window.setInterval("getNetSpeed()", 1000);
});/*** 核心方法*/
function getNetSpeed() {traffic_data = TrafficStats.getTotalRxBytes() - total_data;total_data = TrafficStats.getTotalRxBytes();document.getElementById("net").value = bytesToSize(traffic_data);console.log(bytesToSize(traffic_data));
}//将byte自动转换为其他单位
function bytesToSize(bytes) {if (bytes === 0) return '0 B/s';var k = 1000, // or 1024sizes = ['B/s', 'KB/s', 'MB/s', 'GB/s', 'TB/s', 'PB/s', 'EB/s', 'ZB/s', 'YB/s'],i = Math.floor(Math.log(bytes) / Math.log(k));return (bytes / Math.pow(k, i)).toPrecision(3) + ' ' + sizes[i];
}

打开网络设置

var ComponentName = plus.android.importClass("android.content.ComponentName");
var main = plus.android.runtimeMainActivity();
var Intent = plus.android.importClass("android.content.Intent");
var mIntent = new Intent();
var comp = new ComponentName("com.android.settings", "com.android.settings.WirelessSettings");
mIntent.setComponent(comp);
mIntent.setAction("android.intent.action.VIEW");
main.startActivity(mIntent);

打开各种系统设置界面

var main = plus.android.runtimeMainActivity(); //获取activity
var Intent = plus.android.importClass('android.content.Intent');
var Settings = plus.android.importClass('android.provider.Settings');
var intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); //可设置表中所有Action字段
main.startActivity(intent);

获取WIFI列表

function loadWifiInfo() {var Context = plus.android.importClass("android.content.Context");var WifiManager = plus.android.importClass("android.net.wifi.WifiManager")var wifiManager = plus.android.runtimeMainActivity().getSystemService(Context.WIFI_SERVICE);var List = plus.android.importClass("java.util.List");var ArrayList = plus.android.importClass("java.util.ArrayList");var ScanResult = plus.android.importClass("android.net.wifi.ScanResult");var wifis = new ArrayList();wifis = wifiManager.getScanResults();return wifis;
}

调用系统控件播放视频

plus.runtime.openFile()
var Intent = plus.android.importClass("android.content.Intent");
var Uri = plus.android.importClass("android.net.Uri");
var main = plus.android.runtimeMainActivity();
var intent = new Intent(Intent.ACTION_VIEW);
var uri = Uri.parse("网络视频地址");
intent.setDataAndType(uri, "video/*");
main.startActivity(intent);

调用 os 通讯录选择控件

var REQUESTCODE = 1000;
main = plus.android.runtimeMainActivity();
var Intent = plus.android.importClass('android.content.Intent');
var ContactsContract = plus.android.importClass('android.provider.ContactsContract');
var intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
main.onActivityResult = function (requestCode, resultCode, data) {if (REQUESTCODE == requestCode) {var phoneNumber = null;var resultString = "";var context = main;plus.android.importClass(data);var contactData = data.getData();var resolver = context.getContentResolver();plus.android.importClass(resolver);var cursor = resolver.query(contactData, null, null, null, null);plus.android.importClass(cursor);cursor.moveToFirst();var s_ret;var givenName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));s_ret = givenName;var contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));var pCursor = resolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId,null, null);while (pCursor.moveToNext()) {phoneNumber = pCursor.getString(pCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));s_ret += '\n' + phoneNumber;}alert(s_ret);cursor.close();pCursor.close();}
};
main.startActivityForResult(intent, REQUESTCODE);

原生日历提醒插入

var calanderURL = "content://com.android.calendar/calendars";
var calanderEventURL = "content://com.android.calendar/events";
var calanderRemiderURL = "content://com.android.calendar/reminders";
var calId;function addEvent() {var Cursor = plus.android.importClass("android.database.Cursor");var Uri = plus.android.importClass("android.net.Uri");var Calendar = plus.android.importClass("java.util.Calendar");var main = plus.android.runtimeMainActivity();var userCursor = plus.android.invoke(main.getContentResolver(), "query", Uri.parse(calanderURL), null, null, null, null);if (plus.android.invoke(userCursor, "getCount") <= 0) {console.log("添加账号" + plus.android.invoke(userCursor, "getCount"));initCalendars();} else {console.log("开始插入:" + plus.android.invoke(userCursor, "getCount"));plus.android.invoke(userCursor, "moveToLast");calId = plus.android.invoke(userCursor, "getString", plus.android.invoke(userCursor, "getColumnIndex", "_id"));var ContentValues = plus.android.importClass("android.content.ContentValues");var events = new ContentValues();events.put("title", "测试中==》呵呵");events.put("description", "Frankie受空姐邀请,今天晚上10点以后将在Sheraton交流.lol~");// 插入账户events.put("calendar_id", calId);console.log(calId);events.put("eventLocation", "地球-华夏");var mCalendar = Calendar.getInstance();plus.android.invoke(mCalendar, "set", Calendar.HOUR_OF_DAY, 11);plus.android.invoke(mCalendar, "set", Calendar.MINUTE, 0);var start = plus.android.invoke(plus.android.invoke(mCalendar, "getTime"), "getTime");var end = plus.android.invoke(plus.android.invoke(mCalendar, "getTime"), "getTime");events.put("dtstart", start);events.put("dtend", end);events.put("hasAlarm", 1);events.put("eventTimezone", "Asia/Shanghai"); // 这个是时区,必须有,// 添加事件var newEvent = plus.android.invoke(plus.android.runtimeMainActivity().getContentResolver(), "insert", Uri.parse(calanderEventURL), events);// 事件提醒的设定var id = plus.android.invoke(newEvent, "getLastPathSegment");var values = new ContentValues();values.put("event_id", id);// 提前10分钟有提醒values.put("minutes", "10");values.put("method", "1");plus.android.invoke(main.getContentResolver(), "insert", Uri.parse(calanderRemiderURL), values);mui.toast("插入事件成功,可打开本地日历查看");}
}
//添加账户function initCalendars() {var TimeZone = plus.android.importClass("java.util.TimeZone");var timeZone = TimeZone.getDefault();var ContentValues = plus.android.importClass("android.content.ContentValues");var value = new ContentValues();var Calendars = plus.android.importClass("android.provider.CalendarContract.Calendars");value.put("name", "yy");value.put("account_name", "hehe@gmail.com");value.put("account_type", "com.android.exchange");value.put("calendar_displayName", "mytt");value.put("visible", 1);value.put("calendar_color", -9206951);value.put("calendar_access_level", "700");value.put("sync_events", 1);value.put("calendar_timezone", plus.android.invoke(timeZone, "getID"));value.put("ownerAccount", "hehe@gmail.com");value.put("canOrganizerRespond", 0);var Uri = plus.android.importClass("android.net.Uri");var calendarUri = Uri.parse("content://com.android.calendar/calendars");var buildUpon = plus.android.invoke(calendarUri, "buildUpon");var CalendarContract = plus.android.importClass("android.provider.CalendarContract");plus.android.invoke(buildUpon, "appendQueryParameter", CalendarContract.CALLER_IS_SYNCADAPTER, "true");plus.android.invoke(buildUpon, "appendQueryParameter", "account_name", "hehe@gmail.com");plus.android.invoke(buildUpon, "appendQueryParameter", "account_type", "com.android.exchange");calendarUri = plus.android.invoke(buildUpon, "build");plus.android.invoke(plus.android.runtimeMainActivity().getContentResolver(), "insert", calendarUri, value);mui.toast("添加账号成功");
}

3-3 uniapp、HTML5+、Native.js 功能代码汇总相关推荐

  1. html5时间表js特效代码

    下载地址html5时间表特效代码,基于p5.js实现的动态的时间表效果. dd:

  2. 七夕静态页面html,html5+CSS3+JS实现七夕言情功能代码

    因为今天8月28日就是中国的情人节-七夕,作为程序猿一枚的我就只有在家敲代码咯!但我还是有一颗脱单的心:制作了h5+css+js界面祝小伙伴们:七夕快乐 具体的功能有: 1.下雪的背景动画 2.下面的 ...

  3. 非常不错的一款html5【404页面】,不含js脚本可以左右摆动,原生JavaScript实现日历功能代码实例(无引用Jq)...

    这篇文章主要介绍了原生JavaScript实现日历功能代码实例(无引用Jq),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 成品显示,可左右切换月份 ...

  4. uni-app中使用native.js调用android API实现双卡发送短信

    uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.H5.以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台官网地址 因 ...

  5. HTML页面打印功能js代码,JavaScript_js实现页面打印功能实例代码(附去页眉页脚功能代码),复制代码 代码如下: html - phpStudy...

    js实现页面打印功能实例代码(附去页眉页脚功能代码) 复制代码 代码如下: @media print{ .print {display:block;} .notPrint {display:none; ...

  6. html5自动生成图片,HTML5拖放API如何实现自动生成相框功能 HTML5拖放API实现自动生成相框功能代码...

    HTML5拖放API如何实现自动生成相框功能?下面小编给大家分享一下HTML5拖放API实现自动生成相框功能代码,代码很详细,小编觉得挺不错的,有需要的小伙伴们可以来看看. 实现功能: 将桌面图片拖入 ...

  7. HTML生日快乐代码 (粉色主题)(HTML5+CSS3+JS)520表白代码/七夕情人节网页/告白/求婚/生日快乐...

    html+css+js 生日快乐网站模板(多页面功能版本+音乐)❤520/表白/七夕情人节/求婚❤专用炫酷动画网页的源代码(HTML5+CSS3+JS) 程序员爱情❤520/表白/七夕情人节/求婚❤专 ...

  8. 使用HTML5和JS实现日期下拉框功能

    使用HTML5和JS实现日期下拉框功能 如图所示: 代码如下: <center><span style="font-size:26pt;color:red;"&g ...

  9. java循环购物车结算系统_原生JS实现购物车结算功能代码

    html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD ...

最新文章

  1. 监控Spark应用方法简介
  2. 关于rc.local启动程序
  3. java获取当前tomcat线程pid_java 查看tomcat线程信息(示例代码)
  4. 浅谈:MyBatis-Plus的CRUD与乐观锁,分页插件,逻辑删除
  5. 根据数据建立分析模型是什么意思
  6. Nand Flash VS Nor Flash
  7. db2数据库免费版限制下载地址
  8. 仓库管理员怎样做台账_仓库主管岗位职责
  9. 练习五十一:序列交换
  10. H.248-Transcoding与Interception
  11. mysql配置文件 my.ini
  12. yolo使用webcam
  13. 西门子mag6000接线_西门子MAG 5000/6000电磁流量计的使用
  14. 两台电脑串口通信实现文件传输
  15. C语言-基础入门-学习笔记(13):结构体
  16. 阳性水草与阴性水草的区分
  17. 最长可重叠的重复子串(2)
  18. ADF用户页面行为监控
  19. 银行软件测试怎么做的
  20. RK系列开发板音频驱动适配指南(一)

热门文章

  1. java炸包_Java 包(package)
  2. How to Install Nvidia Kernel Module Cuda and Pyrit in Kali Linux
  3. 圣科车衣,给予您的爱车完美守护
  4. MySQL安装出现的问题
  5. OSPF学习小结与实验
  6. 1.SPSS概述(安装与界面基本认识)
  7. 资深运维也不知道的那些事
  8. IB学校书单合集请收藏好
  9. java 男女 相邻交换 队形_调整队形+上机编程调整男孩女孩顺序
  10. python实现爬虫统计学校BBS男女比例(三)数据处理