Einer App per Command Line Berechtigung geben

  • 9 Antworten
  • Letztes Antwortdatum
G

gene

Stamm-User
22
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

junkyde
Antworten
5
Aufrufe
1.199
junkyde
junkyde
holms
Antworten
1
Aufrufe
663
holms
holms
coolzero3389
Antworten
12
Aufrufe
1.019
coolzero3389
coolzero3389
M
Antworten
3
Aufrufe
826
Hastenichgesehen
H
NooneR
Antworten
40
Aufrufe
2.557
rtwl
rtwl
Zurück
Oben Unten