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 に答える