- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想实现新的 RemoteController API,已经introduced with API19 (Kitkat,4.4) . API 要求我实现一个从 NotificationListenerService 扩展的类(与 API18 一起引入)并实现 RemoteController.OnClientUpdateListener界面。 (有关如何实现所有这些的更多信息可以在 here 中找到,并且可以在 here 中找到一个非常有用的示例项目)
在我的 API19 (Kitkat,4.4) 设备和所有其他 API<18 设备上一切正常。但是问题是,应用程序在 API18(Jelly bean,4.3)上立即崩溃,因为正在发送“android.service.notification.NotificationListenerService”并启动我的 RemoteService,然后使用以下 Stacktrace 立即使应用程序崩溃:
05-24 09:32:48.945 893-893/com.example E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to instantiate service com.example.RemoteService: java.lang.ClassNotFoundException: Didn't find class "com.example.RemoteService" on path: DexPathList[[zip file "/data/app/com.example-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example-1, /system/lib]]
at android.app.ActivityThread.handleCreateService(ActivityThread.java:2561)
at android.app.ActivityThread.access$1600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1338)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.RemoteService" on path: DexPathList[[zip file "/data/app/com.example-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example-1, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:2558)
at android.app.ActivityThread.access$1600(ActivityThread.java:141
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1338)
...
这是由一个简单的事实引起的,即 RemoteController因此实现的接口(interface)RemoteController.OnClientUpdateListener在 API18 上不可用,但 NotificationListenerService是。并非在每台设备上发送 Intent
远程服务.java:
public class RemoteService extends NotificationListenerService
implements RemoteController.OnClientUpdateListener {
...
}
AndroidManifest.xml:
<manifest ...>
<application ...>
<service android:name="com.example.RemoteService"
android:label="@string/app_name"
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
<intent-filter>
<action android:name="android.service.notification.NotificationListenerService" />
</intent-filter>
</service>
</application>
</manifest>
最佳答案
在 values 和 values-v19 中的 xml 文件中放入一个 bool 值。在 values 中将其设置为 false,在 values-v19 中设置为 true。现在将 NotificationListenerService 的“android:enabled”标签设置为此 bool 值。
./values/bool_switches.xml:
<resources>
<bool name="remotecontrollerservice_enabled">false</bool>
</resources>
./values-v19/bool_switches.xml:
<resources>
<bool name="remotecontrollerservice_enabled">true</bool>
</resources>
./AndroidManifest.xml:
...
<service android:name=".services.RemoteControllerService"
android:label="@string/scrobblingservice_string"
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"
android:enabled="@bool/remotecontrollerservice_enabled">
<intent-filter>
<action android:name="android.service.notification.NotificationListenerService"/>
</intent-filter>
</service>
...
关于android - NotificationListenerService with RemoteController.OnClientUpdateListener 在 API18 (4.3) 上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23845883/
问题 我想实现新的 RemoteController API,已经introduced with API19 (Kitkat,4.4) . API 要求我实现一个从 NotificationListe
我的 Android 应用在三款特定的三星机型上生产时遇到奇怪的崩溃。它提示我没有重写抽象方法 onNewSessionEvent,标准 Android 平台中不存在该方法: http://devel
我是一名优秀的程序员,十分优秀!