我正在尝试将Amazon Device Messaging与Android Studio集成.首先我跟着(整合你的app-with-adm).我打电话的时候
ADM adm = new ADM(getActivity());
if (adm.isSupported()) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
logcat上有这个输出:
E/AndroidRuntime(24472):java.lang.RuntimeException:Stub!
E/AndroidRuntime(24472):at com.amazon.device.messaging.ADM.(Unknown Source)
所以我跟随Amazons(将Amazon Libraries与Android Studio集成)的结果相同.
我的AndroidManifest.xml看起来像这样:
...
<uses-permission android:name="de.mypackage.permission.RECEIVE_ADM_MESSAGE" />
<uses-permission android:name="com.amazon.device.messaging.permission.RECEIVE" />
<permission android:name=".permission.RECEIVE_ADM_MESSAGE" android:protectionLevel="signature" />
...
<application
android:name=".MyPackageApplication"
android:allowBackup="true"
android:allowClearUserData="true"
android:hardwareAccelerated="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
...
<service android:name=".service.ADMNotificationService" android:exported="false" />
<amazon:enable-feature android:name="com.amazon.device.messaging" android:required="true" />
<receiver android:name=".service.ADMNotificationService$MessageAlertReceiver"
android:permission="com.amazon.device.messaging.permission.SEND">
<intent-filter>
<action android:name="com.amazon.device.messaging.intent.REGISTRATION" />
<action android:name="com.amazon.device.messaging.intent.RECEIVE" />
<category android:name="de.mypackage"/>
</intent-filter>
</receiver>
...
</application>
Run Code Online (Sandbox Code Playgroud)
本地build.gradle看起来像这样:
... …Run Code Online (Sandbox Code Playgroud) android android-studio amazon-device-messaging build.gradle android-gradle-plugin