Przeglądaj źródła

更新权限获取提示

HapeLee 1 rok temu
rodzic
commit
b5f346dc97

+ 3 - 7
app/src/main/java/io/legato/kazusa/lib/permission/PermissionActivity.kt

@@ -19,6 +19,7 @@ import io.legato.kazusa.exception.NoStackTraceException
 import io.legato.kazusa.utils.registerForActivityResult
 import io.legato.kazusa.utils.toastOnUi
 import kotlinx.coroutines.launch
+import androidx.core.net.toUri
 
 class PermissionActivity : AppCompatActivity() {
 
@@ -90,16 +91,11 @@ class PermissionActivity : AppCompatActivity() {
                             && requestPermissionResult.launch(Permissions.POST_NOTIFICATIONS)
                         ) {
                             onRequestPermissionFinish()
-                        } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
-                            //这种方案适用于 API 26, 即8.0(含8.0)以上可以用
-                            val intent = Intent()
+                        } else
                             intent.action = Settings.ACTION_APP_NOTIFICATION_SETTINGS
                             intent.putExtra(Settings.EXTRA_APP_PACKAGE, packageName)
                             intent.putExtra(Settings.EXTRA_CHANNEL_ID, applicationInfo.uid)
                             settingActivityResult.launch(intent)
-                        } else {
-                            openSettingsActivity()
-                        }
                     } catch (e: Exception) {
                         AppLog.put("请求通知权限出错\n$e", e, true)
                         RequestPlugins.sRequestCallback?.onError(e)
@@ -114,7 +110,7 @@ class PermissionActivity : AppCompatActivity() {
                 lifecycleScope.launch {
                     try {
                         val intent = Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS)
-                        intent.setData(Uri.parse("package:$packageName"))
+                        intent.setData("package:$packageName".toUri())
                         val className =
                             "com.android.settings.fuelgauge.RequestIgnoreBatteryOptimizations"
                         val activities = packageManager.queryIntentActivities(

+ 2 - 2
app/src/main/res/values-zh/strings.xml

@@ -1082,7 +1082,7 @@
     <string name="tip_divider_color">分隔线颜色</string>
     <string name="same_title_removed">移除重复标题</string>
     <string name="update_book_fail">更新失败</string>
-    <string name="notification_permission_rationale">阅读需要发送通知来显示朗读控制和下载进度</string>
+    <string name="notification_permission_rationale">阅读需要发送通知来显示朗读控制和下载进度,拒绝后将不再弹出。如有需要可至高级设置中再次申请。</string>
     <string name="webdav_after_local_restore_confirm">WebDav 书源比本地新,是否恢复</string>
     <string name="c_whitelist">白名单(contentWhitelist)</string>
     <string name="c_blacklist">黑名单(contentBlacklist)</string>
@@ -1168,7 +1168,7 @@
     <string name="font_weight_text">中/粗/细</string>
     <string name="keep_swipe_tip">继续滑动以加载下一章…</string>
     <string name="enable_optimize_render">启用绘制优化</string>
-    <string name="ignore_battery_permission_rationale">阅读需要请求后台权限以保持服务正常运行</string>
+    <string name="ignore_battery_permission_rationale">阅读需要请求后台权限以保持服务正常运行,拒绝后不再弹出。如有需要可至高级设置中再次申请。</string>
     <string name="simulated_reading">模拟追读</string>
     <string name="switch_on">开关</string>
     <string name="start_from">开始日</string>