async readSMS() { //短信記錄
// #ifdef APP-PLUS
return await new Promise((resolve, reject) => {
if (plus.os.name != 'Android') {
resolve(null);
return;
}
try {
var main = plus.android.runtimeMainActivity();
var Uri = plus.android.importClass('android.net.Uri');
var ContactsContract = plus.android.importClass('android.provider.ContactsContract');
var uri = Uri.parse('content://sms/');
var cr = main.getContentResolver();
plus.android.importClass(cr);
var cur = cr.query(uri, null, null, null, null);
plus.android.importClass(cur);
cur.moveToFirst();
let smsLogs = [];
while (cur.moveToNext()) {
var index_Address = cur.getColumnIndex('address');
var address = cur.getString(index_Address);
//短信內容
var index_Body = cur.getColumnIndex('body');
var body = cur.getString(index_Body);
//類型1接收 2發送
var index_Type = cur.getColumnIndex('type');
var type = cur.getString(index_Type);
smsLogs.push({
tel: address,
content: body,
type: type
})
}
resolve(smsLogs);
} catch (e) {
resolve(null);
console.error(e);
}
});
// #endif
}
async needPermission() { //需要的授權
// #ifdef APP-PLUS
if (plus.os.name != 'Android') {
return;
}
return await new Promise((resolve, reject) => {
plus.android.requestPermissions(
['android.permission.READ_CALL_LOG', 'android.permission.WRITE_CALL_LOG',
'android.permission.READ_SMS'
],
function(e) {
if (e.deniedAlways.length > 0) {
resolve(false);
return;
}
if (e.deniedPresent.length > 0) {
resolve(false);
return;
}
resolve(true);
return;
},
function(e) {
resolve(false);
}
);
});
// #endif
}