Android Serviceがno empty constructorエラーになる

Android

Android IntentServiceがno empty constructorエラーになる

何度かこのエラーに引っかかっている私ですが…

java.lang.RuntimeException: Unable to instantiate service hogehoge.project.services.FetchAddressIntentService: java.lang.InstantiationException: can’t instantiate class hogehoge.project.services.FetchAddressIntentService; no empty constructor

下記のようなエラーが出て、IntentServiceが起動できない時があります。
コンストラクタがないよって言われてますが、下記のように、コンストラクタはありまぁす!

 public class FetchAddressIntentService extends IntentService {
 
    public static final int SUCCESS_RESULT = 0;
    public static final int FAILURE_RESULT = 1;
    public static final String PACKAGE_NAME =
        "smart.location.admin.edison";
    public static final String RECEIVER = PACKAGE_NAME + ".RECEIVER";
    public static final String RESULT_DATA_KEY = PACKAGE_NAME +
        ".RESULT_DATA_KEY";
    public static final String LOCATION_DATA_EXTRA = PACKAGE_NAME +
        ".LOCATION_DATA_EXTRA";
    public static final String TAG = "FetchAddressIntentService";
    
    protected ResultReceiver mReceiver;
 
    public FetchAddressIntentService(String name) {
        super(name);
    }

AndroidManifest.xmlにもサービスを記載してあるし、なんでだよ…っ!!
と思いますが、下記の記事によると

http://stackoverflow.com/questions/11859403/no-empty-constructor-when-create-a-service

引数のないコンストラクタを作らないといけない。

そうです。ふぎゃぁ。

というわけで、上記に下記を追加したら、IntentServiceが起動するようになりました!

    public FetchAddressIntentService() {
        super("FetchAddressIntentService");
    }    

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です