onLoad(query){
that= this;
that.ios_function();
that.judge();
},
onShow(){
that= this;
that.judge()
},
judge(){
if(that.is_ios){
var UIApplication = plus.ios.import("UIApplication");
var app = UIApplication.sharedApplication();
if (app.currentUserNotificationSettings) {
var settings = app.currentUserNotificationSettings();
that.permissions = settings.plusGetAttribute("types");
} else {
that.permissions = app.enabledRemoteNotificationTypes();
}
plus.ios.deleteObject(app);
}else{
var main = plus.android.runtimeMainActivity();
var NotificationManagerCompat = plus.android.importClass("android.support.v4.app.NotificationManagerCompat");
that.permissions = NotificationManagerCompat.from(main).areNotificationsEnabled();
}
console.error('当前权限开启状态为:',that.permissions);
},
open_permissions(){
if(that.is_ios){
if ( !that.permissions ) {
var UIApplication = plus.ios.import("UIApplication");
var NSURL = plus.ios.import("NSURL");
var setting = NSURL.URLWithString("app-settings:");
var application = UIApplication.sharedApplication();
application.openURL(setting);
plus.ios.deleteObject(setting);
plus.ios.deleteObject(application);
}
}else{
var main = plus.android.runtimeMainActivity();
var pkName = main.getPackageName();
var uid = main.getApplicationInfo().plusGetAttribute("uid");
if (!that.permissions) {
var Intent = plus.android.importClass('android.content.Intent');
var Build = plus.android.importClass("android.os.Build");
if (Build.VERSION.SDK_INT >= 26) {
var intent = new Intent('android.settings.APP_NOTIFICATION_SETTINGS');
intent.putExtra('android.provider.extra.APP_PACKAGE', pkName);
} else if (Build.VERSION.SDK_INT >= 21) {
var intent = new Intent('android.settings.APP_NOTIFICATION_SETTINGS');
intent.putExtra("app_package", pkName);
intent.putExtra("app_uid", uid);
} else {
var Settings = plus.android.importClass("android.provider.Settings");
var Uri = plus.android.importClass("android.net.Uri");
var intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
var uri = Uri.fromParts("package", main.getPackageName(), null);
intent.setData(uri);
}
main.startActivity(intent);
}
}
},
ios_function(){
const systerm_info = uni.getSystemInfoSync();
if (systerm_info.platform != "ios") {
that.is_ios= !1;
} else {
that.is_ios= !0;
}
}