0

我正在使用 Jelly Bean v16 API,请遵循此处的指南:开发可访问性服务

我还没有开始添加任何东西,只是一个空白服务,但在我尝试启动服务后它立即崩溃。

这是代码,我做错了哪一部分?

AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.firstapp.service"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="16"
    android:targetSdkVersion="15" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <service android:name=".MyAccessibilityService" >
        <intent-filter>
            <action android:name="android.accessibilityservice.AccessibilityService" />
        </intent-filter>
    </service>
</application>

MyAccessibilityService.java

package com.example.android.apis.accessibility;

import android.accessibilityservice.AccessibilityService;
import android.view.accessibility.AccessibilityEvent;

public class MyAccessibilityService extends AccessibilityService {
    @Override
    public void onAccessibilityEvent(AccessibilityEvent event) {
    }

    @Override
    public void onInterrupt() {
    }

}

这是 LogCat 的错误消息(还有更多)。

07-17 18:38:28.660: E/AndroidRuntime(3334): FATAL EXCEPTION: main
07-17 18:38:28.660: E/AndroidRuntime(3334): java.lang.RuntimeException: Unable to instantiate service com.firstapp.service.MyAccessibilityService: java.lang.ClassNotFoundException: com.firstapp.service.MyAccessibilityService
07-17 18:38:28.660: E/AndroidRuntime(3334):     at android.app.ActivityThread.handleCreateService(ActivityThread.java:2347)
4

1 回答 1

1

您的清单声明服务存在于 Java 包com.firstapp.service中,而实际的类是在com.example.android.apis.accessibility包中实现的。

将文件中的包名更改MyAccessibilityService.java为:com.firstapp.service

于 2012-09-11T06:17:52.580 回答