Ich entwickle eine Anwendung, die diese Berechtigung benötigen: android.permission.MANAGE_USB
.permission.android.MANAGE_USB funktioniert in Jellybean aber nicht in Lollipop OS
Ich weiß, dass diese Erlaubnis nur bei System Application gegeben wird.
Wenn ich die Anwendung als Systemanwendung in Android 4.1.2 installieren, funktioniert die Anwendung gut.
Aber wenn ich versuche, es als System-App in Android 5.1 zu installieren, dann die Debug-Protokoll druckt, dass ich nicht die Erlaubnis:
Fehler:
W/System.err: java.lang.SecurityException:
Neither user 10074 nor current process has android.permission.MANAGE_USB.
für jedermann ist weiß, warum es mir diesen Fehler in Android 5.1 gibt?
Manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app">
<uses-permission android:name="android.permission.MANAGE_USB"
android:protectionLevel="signature" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.GET_TASKS"/>
<permission android:name="android.permission.SET_TIME"
android:protectionLevel="signatureOrSystem"
/>
<uses-feature android:name="android.hardware.usb.host"
android:required="true"/>
<application
android:name=".services.AppContext"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true"
android:hardwareAccelerated="false"
android:theme="@style/AppTheme">
<service android:name=".services.KioskService" android:exported="false"/>
<activity
android:name=".MainActivity"
android:launchMode="singleInstance"
android:stateNotNeeded="true"
android:screenOrientation="sensorLandscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
android:name="com.example.app.services.UsbService"
android:enabled="true">
</service>
<receiver android:name=".services.PowerDisconnectReceiver">
<intent-filter>
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
</intent-filter>
</receiver>
<receiver android:name=".services.UsbPermissionReceiver">
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"/>
</intent-filter>
</receiver>
</application>
</manifest>
Können Sie Ihre AndroidManifest.xml veröffentlichen? –
Sind beide Geräte verwurzelt? Außerdem ist es wichtig, das Manifest zu zeigen, oder wir können nur spekulieren. – Mauker
ok, ich habe das Manifest hinzugefügt. ja beide Geräte sind verwurzelt. Ich habe die Anwendung im System/App-Ordner mit 644 Berechtigungen installiert. –