puoi postare il codice che hai usato ??
mi piacerebbe vederlo, perchè anche io uso accessibility service per altre cose, ma mi trovo un po' incasinato e quando hai scritto "abbastanza semplice" vorrei capire se sono io che sbaglio
Sono molto felice che sei riuscito con poche indicazioni. Ti faccio i miei complimentiok accessibity service funziona abbastanza semplice da usare ora visualizzo il menù di spegnimento
Grazie, con molta pazienza si riesce a fare tutto ho fatto anche l'app che mancava sulla mia macchina e funziona... 4 mesi di prove e un po' di pazienza, appena ho tempo scrivo la guida, ovvio che funziona per lo shutdown per altro non soSono molto felice che sei riuscito con poche indicazioni. Ti faccio i miei complimenti
AddServiceText(AccServ,
 <intent-filter>
         <action android:name="android.accessibilityservice.AccessibilityService" />
     </intent-filter>
      <meta-data
        android:name="android.accessibilityservice"
        android:resource="@xml/windowchangedetectingservice" />
 )
 SetServiceAttribute(AccServ, android:permission, "android.permission.BIND_ACCESSIBILITY_SERVICE")#Region  Project Attributes
    #ApplicationLabel: test
    #VersionCode: 1
    #VersionName: 123
    'SupportedOrientations possible values: unspecified, landscape or portrait.
    #SupportedOrientations: unspecified
    #CanInstallToExternalStorage: False
   #AdditionalRes: C:\Progetti B4X\B4A\Progetti\nome progetto\resAccessibility\res, com.tillekesoft.accessibilityservices[/B]
#End RegionSub Activity_Create(FirstTime As Boolean)
    
    If FirstTime = True Then
        'Activity.LoadLayout("layMain")   
        StartService(AccServ)
        CallSubDelayed(AccServ,"Check_ServiceEnabled")
    End If
    
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub Application_Exit
    
    'Chiude l'applicazione forzatamente
    
    Dim jo As JavaObject
    jo.InitializeContext
    jo.RunMethod("finishAndRemoveTask", Null)
 
    ExitApplication
    
End Sub#Region  Service Attributes
    #StartAtBoot: false
#End Region
#Extends: com.tillekesoft.accessibilityservices.AccessibilityEventsListenerWrapper
Sub Process_Globals
    Public AccessibilitySevices As AccessibilityEventsListener
    Private AccessibilitySevicesCostants As AccessibilityConstants
    'Public PowerDialogShowed As Boolean = False
    
End Sub
Sub Service_Create
    'Inizializzo il servizio
    AccessibilitySevices.initialize("Accessibility")
End Sub
'Sub Accessibility_OnAccessibilityEvent (Event As Object, node As Object)
'   
'    '***QUESTO EVENTO VIENE SEMPRE RICHIAMATO DA QUALSIASI AZIONE SULL'APP USARE PowerDialogShowed = TRUE PER NON ENTRARCI NUOVAMENTE SE NO COMPAIONO
'    'PIU' POWERMENU
'   
'    'Visualizzo il dialog dello spegnimento
'    If PowerDialogShowed = False Then
'        PowerDialogShowed = True
'        AccessibilitySevices.PerformGlobalAction(AccessibilitySevicesCostants.GLOBAL_ACTION_POWER_DIALOG )
'        CallSubDelayed(Main,"Application_Exit")
'    End If
'   
'End Sub
Sub Show_PowerMenu
        
    AccessibilitySevices.PerformGlobalAction(AccessibilitySevicesCostants.GLOBAL_ACTION_POWER_DIALOG)
    CallSubDelayed(Main,"Application_Exit")
    
End Sub
Sub Service_Start (StartingIntent As Intent)
    
    Service.StopAutomaticForeground
    
End Sub
Sub Service_Destroy
End Sub
Sub Check_ServiceEnabled
    
    'SERVE A VISUALIZZARE LA SCHERMATA DI CONSENSO ALL'UTILIZZO DI ACCESSIBILITYSERVICES
    
    If AccessibilitySevices.IsAccessibilityServiceEnabled("xx.xxxxxx.powermenu/.accserv") = False Then
                
        Dim Intent1 As Intent
        Intent1.Initialize( "android.settings.ACCESSIBILITY_SETTINGS", "" )
        StartActivity( Intent1 )
    Else
        
        'se il servizio è abilitato visualizzo il PowerMenu
        Show_PowerMenu
        
    End If
    
End SubChiamo show_powermenu da Check_ServiceEnabled per visualizzarlo così da saltare l'evento e far comparire il menu quando voglio e solo una volta.Grazie per aver condiviso il codice.
Quello che mi interessava vedere era l'evento OnAccessibilityEvent per capire tu come gestivi le variabili "event" e "node", ma ho visto che non lo utilizzi.
Ma una volta che appare il menu di spegnimento, come fai allora a dare conferma ??
Sub Activity_Create(FirstTime As Boolean)
   
    Log("Start")
    If FirstTime = True Then
       
        Log("FirstTime")
'non visualizza il layout
        Activity.Finish
       
        'Activity.LoadLayout("layMain")
        'StartService(AccServ)
        CallSubDelayed(AccServ,"Check_ServiceEnabled")
    End If
   
End SubSub Check_ServiceEnabled
   
    'SERVE A VISUALIZZARE LA SCHERMATA DI CONSENSO ALL'UTILIZZO DI ACCESSIBILITYSERVICES
   
    If AccessibilitySevices.IsAccessibilityServiceEnabled("xx.xxxx.powermenu/.accserv") = False Then
       
        Log("Show accessibility settings")
   
        Dim Intent1 As Intent
        Intent1.Initialize( "android.settings.ACCESSIBILITY_SETTINGS", "" )
        StartActivity( Intent1 )
        ExitApplication
    Else
       
        'se il servizio è abilitato visualizzo il PowerMenu
        Show_PowerMenu
       
        ExitApplication
    End If
   
End Subfai quello che fai di solito, clicchi sopra con il dito su spegni oppure riavvia
il servizio parte ugualmente anche senza richiamarlo, non chiedermi perchè
B4X:CallSubDelayed(AccServ,"Check_ServiceEnabled")
in teoria ma non si può sul telefono... lo fa sulla boxAh ok, mi sembrava di aver capito che volevi automatizzare il tutto, e non dover avere l'intervento de dito
perchè c'e' questo pezzetto? CallSubDelayed(AccServ....Parte in automatico perchè è CallSubDelayed che lo fa partire
