11package net.ankio.vpay
22
3+ import android.accessibilityservice.AccessibilityServiceInfo
34import android.annotation.SuppressLint
45import android.app.Application
56import android.content.Context
67import android.content.Intent
78import android.provider.Settings
9+ import android.util.Log
810import android.view.accessibility.AccessibilityManager
911import com.flurry.android.FlurryAgent
1012import com.quickersilver.themeengine.ThemeEngine
1113import net.ankio.vpay.service.HeartbeatManager
14+ import net.ankio.vpay.service.NotificationAccessibilityService
1215import net.ankio.vpay.utils.SpUtils
1316import java.util.*
1417
@@ -21,19 +24,21 @@ open class App : Application() {
2124 lateinit var context: Context
2225 const val PAY_WECHAT = 1 // 微信收款
2326 const val PAY_ALIPAY = 2 // 支付宝收款
24- fun isNotificationAccessibilityServiceEnabled (context : Context ): Boolean {
25- val packageName = context.packageName
26- val expectedServiceName = " $packageName /.NotificationAccessibilityService"
27- val am = context.getSystemService(Context .ACCESSIBILITY_SERVICE ) as AccessibilityManager
28-
29- val enabledServices = Settings .Secure .getString(
30- context.contentResolver,
31- Settings .Secure .ENABLED_ACCESSIBILITY_SERVICES
32- )
3327
34- return enabledServices?.contains(expectedServiceName) == true
28+ fun isNotificationAccessibilityServiceEnabled (context : Context ): Boolean {
29+ var isAccessibilityEnabled = false
30+ (context.getSystemService(Context .ACCESSIBILITY_SERVICE ) as AccessibilityManager ).apply {
31+ installedAccessibilityServiceList.forEach { installedService ->
32+ installedService.resolveInfo.serviceInfo.apply {
33+ if (getEnabledAccessibilityServiceList(AccessibilityServiceInfo .FEEDBACK_ALL_MASK ).any {
34+ it.resolveInfo.serviceInfo.packageName == packageName &&
35+ it.resolveInfo.serviceInfo.name == name })
36+ isAccessibilityEnabled = true
37+ }
38+ }
39+ }
40+ return isAccessibilityEnabled
3541 }
36-
3742 fun openAccessibilitySettings (context : Context ) {
3843 val intent = Intent (Settings .ACTION_ACCESSIBILITY_SETTINGS )
3944 context.startActivity(intent)
0 commit comments