Einer App per Command Line Berechtigung geben

G

gene

Stammgast
20
Hi,

soweit ich das herausbekommen habe ist es mit tasker nur über das CLI, also Code ausführen, möglich einer app bestimmte Berechtigungen zu geben. Das soll mit

Code:
pm grant paket Berechtigung

gehen. Nur wie bekomme ich die genaue Bezeichnung der Berechtigung heraus? Ich will einer app das recht geben auf den Standort zuzugreifen.
 
Noch ein kleines Nice to Know.
Bekannter von mir hat mal gezeigt, das gewisse Apps / Systemapps die keine Zugriffsrechte auf dem Standort haben, sich einfach an eine App dranhängen die Zugriffsrechte auf dem Standort haben.
 
Hab es jetzt versucht mit

Code:
pm grant com.sygic.aura android.permission.ACCESS_BACKGROUND_LOCATION

versucht. Da kommt Fehler 255. es steht aber nicht da was genau der Fehler ist. Kommt mit als auch ohne root.

Braucht es weitere Berechtigungen?

Mit custom settings bekommt man - wie bisher auch - sowas leider nicht hin.
 
@gene
Wie genau hast du es versucht?


Mit Root = Taskaktion - Code - Shell Ausführen:
Befehl = pm grant com.sygic.aura android.permission.ACCESS_BACKGROUND_LOCATION
Benutze Root = Häckchen rein.

Mit Speziellen ADB Rechten für ADB Wifi = Taskaktion - Code - ADB Wifi:
Befehl = pm grant com.sygic.aura android.permission.ACCESS_BACKGROUND_LOCATION
 
Die erste Version. Da kommt dann der Fehler.
 
@gene
eventuell gibt's die Berechtigung bei der App nicht.

Ich feuere meistens:
pm grant packet android.permission.ACCESS_FINE_LOCATION
pm grant packet android.permission.ACCESS_COARSE_LOCATION
 
Gehen beide. Man bekommt aber auch nicht einfach aus den Einstellungen heraus welche Berechtigungen da erfragt werden? Also die rechte geben und dann irgendwo prüfen was es genau war?
 
@gene
Das würde im Manifest stehen. (Beispiel von Tasker im Spoiler) alle
uses-permission name= sind Berechtigungen

Es gibts Apps zB. Apk Analyzer.
Hat sogar eine extra Permission Einstellung und kann Manifest anzeigen und speichern.
Screenshot_20200309-141446_Apk Analyzer.jpg

Code:
<?xml version="1.0" encoding="UTF-8"?><manifest versionCode="5226" versionName="5.9.2" installLocation="1" compileSdkVersion="29" compileSdkVersionCodename="10" package="net.dinglisch.android.taskerm" platformBuildVersionCode="29" platformBuildVersionName="10">
  <uses-sdk minSdkVersion="21" targetSdkVersion="28"/>
  <supports-screens anyDensity="true" smallScreens="true" normalScreens="true" largeScreens="true" resizeable="true" xlargeScreens="true"/>
  <permission label="erlaubt der Applikation, Tasker zu fragen ob sie beide, benutzerdefinierte oder eigene Tasks ausführen soll" name="net.dinglisch.android.tasker.PERMISSION_RUN_TASKS" protectionLevel="0x0" description="Tasker Task ausführen"/>
  <permission label="auto-import Tasker-Konfigurationen" name="net.dinglisch.android.tasker.PERMISSION_AUTO_IMPORT" protectionLevel="0x0" description="erlaubt der Applikation, Tasker nach dem Import der Ganz- oder Teil Konfigurationen zu fragen"/>
  <permission name="com.joaomgcd.taskersettings.SET_SETTING" protectionLevel="0x2"/>
  <uses-permission name="net.dinglisch.android.zoom.permission.MAKE_CHANGES"/>
  <uses-permission name="android.permission.PACKAGE_USAGE_STATS"/>
  <permission label="erlaubt der Applikation, Tasker zu fragen ob sie beide, benutzerdefinierte oder eigene Tasks ausführen soll" name="net.dinglisch.android.zoom.permission.MAKE_CHANGES" protectionLevel="0x0" description="Tasker Task ausführen"/>
  <uses-permission name="cyanogenmod.permission.PUBLISH_CUSTOM_TILE"/>
  <uses-permission name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
  <uses-permission name="android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND"/>
  <uses-permission name="android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND"/>
  <uses-permission name="android.permission.BODY_SENSORS"/>
  <uses-permission name="android.permission.WRITE_CALL_LOG"/>
  <uses-permission name="android.permission.READ_CALL_LOG"/>
  <uses-permission name="android.permission.RECEIVE_SMS"/>
  <uses-permission name="com.latedroid.juicedefender.permission.CONTROL_JUICEDEFENDER"/>
  <uses-permission name="com.latedroid.juicedefender.permission.TOGGLE_MOBILE_DATA"/>
  <uses-permission name="android.permission.MODIFY_PHONE_STATE"/>
  <uses-permission name="com.android.phone.CHANGE_NETWORK_MODE"/>
  <uses-permission name="android.permission.SET_TIME_ZONE"/>
  <uses-permission name="android.permission.WRITE_SYNC_SETTINGS"/>
  <uses-permission name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  <uses-permission name="android.permission.VIBRATE"/>
  <uses-permission name="android.permission.WAKE_LOCK"/>
  <uses-permission name="android.permission.GET_TASKS"/>
  <uses-permission name="android.permission.RECEIVE_BOOT_COMPLETED"/>
  <uses-permission name="android.permission.WRITE_SETTINGS"/>
  <uses-permission name="android.permission.RECORD_AUDIO"/>
  <uses-permission name="android.permission.READ_PHONE_STATE"/>
  <uses-permission name="android.permission.SEND_SMS"/>
  <uses-permission name="android.permission.WRITE_SMS"/>
  <uses-permission name="android.permission.READ_SMS"/>
  <uses-permission name="android.permission.ACCESS_FINE_LOCATION"/>
  <uses-permission name="android.permission.ACCESS_COARSE_LOCATION"/>
  <uses-permission name="com.android.alarm.permission.SET_ALARM"/>
  <uses-permission name="android.permission.EXPAND_STATUS_BAR"/>
  <uses-permission name="android.permission.CHANGE_NETWORK_STATE"/>
  <uses-permission name="android.permission.CAMERA"/>
  <uses-permission name="android.permission.DISABLE_KEYGUARD"/>
  <uses-permission name="android.permission.BLUETOOTH_ADMIN"/>
  <uses-permission name="android.permission.BLUETOOTH"/>
  <uses-permission name="android.permission.ACCESS_NETWORK_STATE"/>
  <uses-permission name="android.permission.SET_WALLPAPER"/>
  <uses-permission name="android.permission.ACCESS_WIFI_STATE"/>
  <uses-permission name="android.permission.CHANGE_WIFI_STATE"/>
  <uses-permission name="android.permission.MODIFY_AUDIO_SETTINGS"/>
  <uses-permission name="android.permission.PROCESS_OUTGOING_CALLS"/>
  <uses-permission name="android.permission.READ_CONTACTS"/>
  <uses-permission name="android.permission.WRITE_CONTACTS"/>
  <uses-permission name="android.permission.INTERNET"/>
  <uses-permission name="android.permission.CALL_PHONE"/>
  <uses-permission name="android.permission.READ_SYNC_SETTINGS"/>
  <uses-permission name="android.permission.READ_CALENDAR"/>
  <uses-permission name="android.permission.WRITE_CALENDAR"/>
  <uses-permission name="android.permission.WRITE_SECURE_SETTINGS"/>
  <uses-permission name="android.permission.DUMP"/>
  <uses-permission name="android.permission.CHANGE_CONFIGURATION"/>
  <uses-permission name="android.permission.TETHER_PRIVILEGED"/>
  <uses-permission name="com.joaomgcd.taskersettings.SET_SETTING"/>
  <uses-permission name="android.permission.ANSWER_PHONE_CALLS"/>
  <uses-permission name="android.permission.CAPTURE_AUDIO_OUTPUT"/>
  <uses-permission name="android.permission.FOREGROUND_SERVICE"/>
  <uses-permission name="android.permission.USE_BIOMETRIC"/>
  <uses-permission name="android.permission.NFC"/>
  <uses-permission name="android.permission.REQUEST_INSTALL_PACKAGES"/>
  <uses-permission name="android.permission.REQUEST_DELETE_PACKAGES"/>
  <uses-permission name="android.permission.SET_MEDIA_KEY_LISTENER"/>
  <uses-permission name="android.permission.SET_WALLPAPER_COMPONENT"/>
  <uses-permission name="android.permission.RESTART_PACKAGES"/>
  <uses-permission name="android.permission.KILL_BACKGROUND_PROCESSES"/>
  <uses-permission name="android.permission.ACCESS_WIMAX_STATE"/>
  <uses-permission name="android.permission.CHANGE_WIMAX_STATE"/>
  <uses-permission name="android.permission.SYSTEM_ALERT_WINDOW"/>
  <uses-permission name="android.permission.ACCESS_NOTIFICATION_POLICY"/>
  <uses-permission name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"/>
  <uses-permission name="android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER"/>
  <uses-permission name="android.permission.READ_LOGS"/>
  <uses-permission name="android.permission.SET_PROCESS_LIMIT"/>
  <uses-permission name="android.permission.USE_FINGERPRINT"/>
 
Interessant ist, dass eine manuell eingerichtete Berechtigung nicht zwangsweise wieder mit einem command raus geht. FINE_LOCATION geht nur wenn gleichzeitig genaue Standortbestimmung eingeschaltet ist. COARSE_LOCATION geht bei sparmodus oder nur GPa manchmal, aber nicht immer. Dafür geht bei beiden manchmal FINE_LOCATION. Ich werd wohl einfach alle in den task schreiben.
 

Ähnliche Themen

S
Antworten
1
Aufrufe
214
NitramAkloh
N
G
  • gene
Antworten
1
Aufrufe
361
holms
holms
X
Antworten
0
Aufrufe
244
xyzUpdate
X
Zurück
Oben Unten