Моя цель - запустить сервис, который добавляется через .jar-файл в качестве плагина android в Unity3D. В потоке this я узнал, как запустить его, я могу финнали добраться до собственного кода. Но я столкнулся со следующей проблемой в журнале:Unity3D Android-плагин: не удалось начать службу
07-14 15:02:23.965: W/ActivityManager(444): Unable to start service Intent { cmp=net.calipssoone.bnh/com.activitychecker.adservice.CheckService } U=0: not found
Я гугл и выяснил, что проблема заключается в манифесте, но не могла понять, что я делаю неправильно. Вот как услуга объявляется в манифесте:
<application android:icon="@drawable/app_icon" android:label="@string/app_name" android:debuggable="true">
<service android:name="com.activitychecker.adservice.CheckService"/>
<receiver android:name="com.activitychecker.adservice.StartReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
<action android:name="CheckService" />
</intent-filter>
</receiver>
Его имя пакета в Java на самом деле то же самое: com.activitychecker.adservice
StartReceiver класс:
public class StartReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {}
}
CheckService класс :
public class CheckService extends Service {
public void onCreate(){}
public long getCurrentTime(){}
public void loadInfo(){}
public int onStartCommand(Intent intent, int flags, int startId){}
public void onDestroy() {}
public IBinder onBind(Intent intent) {}
public class MyThread extends Thread {
public void run() {}
public void cancel() {}
public boolean check(String bundle){}
}
private class ScreenBroadcastReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {}
}
}
UPD: Я изменил свое manifset от:
<service android:name="com.activitychecker.adservice.CheckService"/>
To:
<service android:name="com.activitychecker.adservice.CheckService"></service>
И ошибка журнала изменен:
07-14 17:46:13.455: W/ActivityManager(444): Unable to start service Intent { act=com.activitychecker.adservice.CheckService } U=0: not found
Было бы хорошо, если вы разместите класс CheckService и StartReceiver. Я не хочу видеть код внутри них. Просто его проект и функции в нем. – Programmer
вы пробовали [это] (http://stackoverflow.com/a/3439838/4366237)? –
Я обновил код вопроса, @Programmer –