0

このコードを実行すると、RuntimeException という例外が発生します。WakeWork.class にはまだコードを追加していません。これが爆撃している理由について何か考えはありますか?

これは私の「ON RECEIVER」アラームから呼び出されます。

   Intent i = new Intent(context, WakeWork.class);
   WakefulIntentService.sendWakefulWork(context, i);

マニフェスト.xml
<service android:name="com.PageP.WakeWork"></service>

WAKEWORK.CLASS

package com.PageP;

import android.content.Intent;

public class WakeWork extends WakefulIntentService {

public WakeWork(String name) {
    super(name);
    // TODO Auto-generated constructor stub
}

@Override
public void onCreate(){
    super.onCreate();
}

@Override
protected void doWakefulWork(Intent intent) {
    // TODO Auto-generated method stub

}
}

エラー

    Thread [<1> main] (Suspended (exception RuntimeException))  
        ActivityThread.handleCreateService(ActivityThread$CreateServiceData) line: 2346 
        ActivityThread.access$1600(ActivityThread, ActivityThread$CreateServiceData) line: 126  
        ActivityThread$H.handleMessage(Message) line: 1221  
        ActivityThread$H(Handler).dispatchMessage(Message) line: 99 
        Looper.loop() line: 137 
        ActivityThread.main(String[]) line: 4560    
        Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]  
        Method.invoke(Object, Object...) line: 511  
        ZygoteInit$MethodAndArgsCaller.run() line: 784  
        ZygoteInit.main(String[]) line: 551 
        NativeStart.main(String[]) line: not available [native method]  

ロングキャット

04-22 10:32:04.127: W/AsyncTask(9004): com.PageP.GrabURL.doInBackground(GrabURL.java:36) 04-22 10:32:04.127: W/AsyncTask(9004): com.PageP で.GrabURL.doInBackground(GrabURL.java:1) 04-22 10:32:19.080: E/AndroidRuntime(9004): java.lang.RuntimeException: サービス com.PageP.WakeWork をインスタンス化できません: java.lang.InstantiationException: できますクラス com.PageP.WakeWork をインスタンス化しないでください。空のコンストラクターはありません 04-22 10:32:19.080: E/AndroidRuntime(9004): 原因: java.lang.InstantiationException: クラス com.PageP.WakeWork をインスタンス化できません。空のコンストラクターはありません

4

1 に答える 1

0

変化する:

public WakeWork(String name) {
    super(name);
    // TODO Auto-generated constructor stub
}

に:

public WakeWork() {
    super("George");
}

(名前を他の値に自由に置き換えてください)

スタック トレースが示すように、引数のないパブリック コンストラクターがないため、Android はサービスをインスタンス化できません。これは、上記の修正で解決されます。

于 2013-04-22T14:45:35.917 に答える