/ / Brak pozwolenia na system Android przy użyciu Samsung SDK - Android, manifest-manifest, samsung-mobile-sdk, samsung-galaxy-gear, samsung-knox

Zezwolenie na Androida nie przyznane za pomocą Samsung SDK - Android, Android-manifest, Samsung-Mobile-SDK, Samsung-Galactic-Gear, Samsung-knox

Próbuję uruchomić ten przykładowy projekt, w którym Telefon jest konsumentem.

http://developer.samsung.com/sample-app/view.do?v=S000000069nCT030000

Aplikacja działa idealnie na moim telefonie HTC Desire 820 (4.4.4).

Jednak po uruchomieniu go na Samsungu Galaxy S4 (5.0.1) ulega awarii podczas działania onCreate() w ConsumerService

Oto ślad mojego stosu:

FATAL EXCEPTION: main
Process: com.samsung.android.sdk.accessory.example.helloaccessory.consumer, PID: 29617
java.lang.RuntimeException: Unable to create service com.samsung.android.sdk.accessory.example.helloaccessory.consumer.ConsumerService: java.lang.SecurityException: com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY permission is required.
at android.app.ActivityThread.handleCreateService(ActivityThread.java:3167)
at android.app.ActivityThread.access$1900(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1532)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5951)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183)
Caused by: java.lang.SecurityException: com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY permission is required.
at com.samsung.android.sdk.accessory.SA.initialize(Unknown Source)
at com.samsung.android.sdk.accessory.SAAgent.onCreate(Unknown Source)
at com.samsung.android.sdk.accessory.example.helloaccessory.consumer.ConsumerService.onCreate(ConsumerService.java:52)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:3157)
at android.app.ActivityThread.access$1900(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1532)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5951)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183)

Zasadniczo brakuje mi uprawnienia i potwierdziłem to za pomocą:

String permission = "com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY";
int res = getContext().checkCallingOrSelfPermission(permission);
return (res == PackageManager.PERMISSION_GRANTED);

Które wróciło false

Jednak dołączam to uprawnienie do mojego pliku AndroidManifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.samsung.android.sdk.accessory.example.helloaccessory.consumer"
android:versionCode="4"
android:versionName="2.0.2" >

<uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="com.samsung.accessory.permission.ACCESSORY_FRAMEWORK" />
<uses-permission android:name="com.samsung.wmanager.ENABLE_NOTIFICATION" />
<uses-permission android:name="com.samsung.WATCH_APP_TYPE.Companion"/>

<application...

Buduję przy użyciu gradingu z tymi wersjami:

compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.samsung.android.sdk.accessory.example.helloaccessory.consumer"
minSdkVersion 15
targetSdkVersion 23
versionCode 4
versionName "2.0.2"
}

Również używam

compile "com.android.support:appcompat-v7:23.1.1"

Telefon nie jest zrootowany.

Czy ktoś ma pojęcie, dlaczego tak się dzieje i jak rozwiązać ten problem?

Dzięki!

Odpowiedzi:

1 dla odpowiedzi № 1

Spróbuj zaktualizować pakiet Samsung Pass SDK do wersji 1.2.2

http://developer.samsung.com/galaxy/pass

Nie wiem, co się stało, ale 1.2.1 nie działa więcej, dodając także pozwolenie na Androidmanifest.