分享一段Android許可權設定的程式碼
檢查是否有通知欄許可權
NotificationManagerCompat.from(context).areNotificationsEnabled()
開啟通知欄許可權設定頁
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Build
import android.provider.Settings
object NotificationUtil {
//呼叫該方法獲取是否開啟通知欄許可權
fun goToNotificationSetting(context: Context) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
//這種方案適用於 API 26, 即8.0(含8.0)以上可以用
try {
val intent = Intent()
intent.action = Settings.ACTION_APP_NOTIFICATION_SETTINGS
intent.putExtra(Settings.EXTRA_APP_PACKAGE, context.packageName)
intent.putExtra(Settings.EXTRA_CHANNEL_ID, context.applicationInfo.uid)
context.startActivity(intent)
} catch (e: Exception) {
toPermissionSetting(context)
}
} else {
toPermissionSetting(context)
}
}
/**
* 跳轉到許可權設定
*
* @param activity
*/
private fun toPermissionSetting(activity: Context) {
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1) {
toSystemConfig(activity)
} else {
try {
toApplicationInfo(activity)
} catch (e: java.lang.Exception) {
L.printStackTrace(e)
toSystemConfig(activity)
}
}
}
/**
* 應用資訊介面
*
* @param activity
*/
private fun toApplicationInfo(activity: Context) {
try {
val localIntent = Intent()
localIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
localIntent.action = Settings.ACTION_APPLICATION_DETAILS_SETTINGS
localIntent.data = Uri.fromParts("package", activity.packageName, null)
activity.startActivity(localIntent)
} catch (e: java.lang.Exception) {
L.printStackTrace(e)
}
}
/**
* 系統設定介面
*
* @param activity
*/
private fun toSystemConfig(activity: Context) {
try {
val intent = Intent(Settings.ACTION_SETTINGS)
activity.startActivity(intent)
} catch (e: java.lang.Exception) {
L.printStackTrace(e)
}
}
}
相關文章
- 小程式許可權設定(位置)
- 如何設定許可權?
- 選單許可權和按鈕許可權設定
- Linux 筆記分享八:檔案許可權的設定Linux筆記
- ubuntu 許可權管理設定Ubuntu
- Atitit godaddy 檔案許可權 root許可權設定Go
- .NET 程式許可權控制、獲得管理員許可權程式碼
- android 許可權元件設計Android元件
- Windows許可權設定詳解Windows
- PHP專案許可權設定PHP
- redis密碼設定、訪問許可權控制等安全設定Redis密碼訪問許可權
- Android平臺targetSdkVersion設定及動態許可權Android
- 傳奇GM許可權命令設定教程,傳奇分享匯
- drf 許可權校驗設定與原始碼分析原始碼
- 呼叫者許可權與定義者許可權的pl/sql子程式SQL
- NAS使用者許可權的設定
- SVN伺服器的許可權設定伺服器
- Android系統許可權和root許可權Android
- 適配懸浮窗許可權與系統設定修改許可權
- Vue設定許可權列表目錄Vue
- iOS 10設定應用許可權iOS
- 金山文件怎麼設定編輯許可權 金山文件線上編輯許可權設定
- jboss許可權的設定 大俠賜教
- [SAP BO]BOE的 檔案許可權設定
- [BUG反饋]許可權條目中缺少兩個公開方法的許可權設定
- 【Git】程式碼許可權&分支管理Git
- 如何為j2ee的程式設定許可權驗證?
- PostgreSQL物件許可權如何在後設資料中獲取-許可權解讀、定製化匯出許可權SQL物件
- android許可權大全Android
- Android permission許可權Android
- windows10許可權怎麼設定_win10設定使用者許可權的方法WindowsWin10
- 對定義者許可權和呼叫者許可權的理解
- Serv-U許可權設定規則
- win8.1最高許可權設定方法
- App跳轉到許可權設定介面APP
- 如何檢測應用通知許可權?如何跳轉通知許可權設定頁?
- android動態許可權到自定義許可權框架Android框架
- windows10管理員許可權怎麼設定_win10電腦設定管理員許可權的步驟WindowsWin10