短視訊系統原始碼,讓程式獲得通知欄許可權

zhibo系統開發發表於2021-11-11

短視訊系統原始碼,讓程式獲得通知欄許可權實現的相關程式碼

控制訊息欄的訊息開啟和關閉就需要獲取手機系統,還有手機通知欄的開啟情況


第一步我們先獲取手機的系統,根據系統然後獲取通知欄開啟的狀態


if (plus.os.name == 'Android') {//判斷是否是安卓系統
    var main = plus.android.runtimeMainActivity();
var pkName = main.getPackageName();
var uid = main.getApplicationInfo().plusGetAttribute("uid");
var NotificationManagerCompat = plus.android.importClass("android.support.v4.app.NotificationManagerCompat");
//android.support.v4升級為androidx
if (NotificationManagerCompat == null) {
NotificationManagerCompat = plus.android.importClass("androidx.core.app.NotificationManagerCompat");
}
    //areNotificationsEnabled 儲存安卓通知欄開啟的狀態返回值為true或false
var areNotificationsEnabled = NotificationManagerCompat.from(main).areNotificationsEnabled();
 
}
else{
    var isOn = undefined;
var types = 0;
var app = plus.ios.invoke('UIApplication', 'sharedApplication');
var settings = plus.ios.invoke(app, 'currentUserNotificationSettings');
if (settings) {
types = settings.plusGetAttribute('types');
plus.ios.deleteObject(settings);
} else {
types = plus.ios.invoke(app, 'enabledRemoteNotificationTypes');
}
plus.ios.deleteObject(app);
    //isOn 儲存蘋果通知欄開啟的狀態返回值為true或false
    isOn = (0 != types);
}


第二步再根據返回的狀態來開啟通知欄


//安卓開啟對應的通知欄
uni.showModal({
title: '通知許可權開啟提醒',
content: '您還沒有開啟通知許可權,無法接受到訊息通知,請前往設定!',
showCancel: false,
confirmText: '去設定',
success: function(res) {
if (res.confirm) {
    var Intent = plus.android.importClass('android.content.Intent');
var Build = plus.android.importClass("android.os.Build");
//android 8.0引導  
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) { //android 5.0-7.0  
var intent = new Intent('android.settings.APP_NOTIFICATION_SETTINGS');
    intent.putExtra("app_package", pkName);
intent.putExtra("app_uid", uid);
} else { //(<21)其他--跳轉到該應用管理的詳情頁  
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
var uri = Uri.fromParts("package", mainActivity.getPackageName(), null);
intent.setData(uri);
}
    // 跳轉到該應用的系統通知設定頁  
    main.startActivity(intent);
}
}
});
//蘋果開啟對應的通知欄
uni.showModal({
title: '通知許可權開啟提醒',
content: '您還沒有開啟通知許可權,無法接受到訊息通知,請前往設定!',
showCancel: false,
confirmText: '去設定',
success: function(res) {
if (res.confirm) {
var app = plus.ios.invoke('UIApplication', 'sharedApplication');
var setting = plus.ios.invoke('NSURL', 'URLWithString:', 'app-settings:');
plus.ios.invoke(app, 'openURL:', setting);
plus.ios.deleteObject(setting);
plus.ios.deleteObject(app);
}
}
});


以上就是 短視訊系統原始碼,讓程式獲得通知欄許可權實現的相關程式碼,更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2841715/,如需轉載,請註明出處,否則將追究法律責任。

相關文章