关于这部分DCloud官网也有代码示例,在这里
这里就把我自己写好的总结一下:
调用Android SharePreference数据
/**
* 在通过NJS获取Android数据
*/
function getDataFromAndroid(){
var Toast = plus.android.importClass("android.widget.Toast");
var Context = plus.android.importClass("android.content.Context");
var SharedPreferences = plus.android.importClass("android.content.SharedPreferences");
var sp = mainActivity.getSharedPreferences("data",Context.MODE_PRIVATE);
var value1 = plus.android.invoke(sp,"getString","data1","");
var value2 = plus.android.invoke(sp,"getString","data2","");
var toast = Toast.makeText(mainActivity,"data1:"+value1+"\n"+"data2:"+value2,Toast.LENGTH_SHORT);
toast.show();
}
调用Android本地分享
function shareContent(){
var Intent = plus.android.importClass("android.content.Intent");
var shareIntent = new Intent(Intent.ACTION_SEND);
plus.android.invoke(shareIntent,"setType","text/plain");
plus.android.invoke(shareIntent,"putExtra",Intent.EXTRA_TEXT,"this is my share text");
<!--shareIntent.setType("text/plain");-->
<!--shareIntent.putExtra(Intent.EXTRA_TEXT,"this is my share text");-->
mainActivity.startActivity(Intent.createChooser(shareIntent,"share to..."));
}
直接拨打电话
/**
* 在通过NJS获取拨打电话
*/
function callPhone(){
var Intent = plus.android.importClass("android.content.Intent");
var Uri = plus.android.importClass("android.net.Uri");
var uri = Uri.parse("tel:10086");
var callIntent = new Intent("android.intent.action.CALL",uri);
mainActivity.startActivity(callIntent);
}
获取手机内存信息
function getMemorySize() {
var Toast = plus.android.importClass("android.widget.Toast");
var Context = plus.android.importClass("android.content.Context");
var ActivityManager = plus.android.importClass("android.app.ActivityManager");
var memoryInfo = new ActivityManager.MemoryInfo();
var activityService = mainActivity.getSystemService(Context.ACTIVITY_SERVICE);
activityService.getMemoryInfo(memoryInfo);
var availRAMSize = memoryInfo.plusGetAttribute("availMem");
var toast = Toast.makeText(mainActivity,"可用内存:"+availRAMSize,Toast.LENGTH_SHORT);
toast.show();
}
打开网络设置
/*var intent = new Intent('android.settings.WIFI_SETTINGS')*/
function openNetwork(){
var Intent = plus.android.importClass("android.content.Intent");
var Settings = plus.android.importClass("android.provider.Settings");
<!--android.settings.SETTINGS和android.settings.WIRELESS_SETTINGS是同一个界面-->
<!--var intent = new Intent('android.settings.SETTINGS');-->
<!--用如下方式需要导入Settings包-->
var intent = new Intent(Settings.ACTION_SETTINGS);
mainActivity.startActivity(intent);
}
读取手机联系人
function readContacts(){
var REQUESTCODE = 1000;
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);
mainActivity.startActivityForResult(intent, REQUESTCODE);
mainActivity.onActivityResult = function(requestCode, resultCode, data) {
if (REQUESTCODE == requestCode) {
var phoneNumber = null;
var resultString = "";
var context = mainActivity;
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();
}
};
}