У меня есть IntentService, который я хочу запустить onCreate. Это огонь и забыть, что делает звонок на сайт, а затем (возможно) начинает загрузку через менеджер загрузки. Я не верю, что моя служба запускается, потому что я не вижу от нее никаких отчетов в журнале. У меня есть служба в моем манифесте, тот же пакет, что и основной. Он также не отображается в моем логарифме (другой поток сказал, что должен).
при создании:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
Intent heartbeat = new Intent(this, Heartbeat.class);
startService(heartbeat);
}
* Я также пробовал this.startService(heartbeat); и тоже не получилось.
манифест:
<application
android:debuggable="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<service android:name=".Heartbeat" android:enabled="true"/>
<activity
android:name=".MainActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
* с андроидом или без: флаг включен не имеет значения
запуск IntentService:
public class Heartbeat extends IntentService
{
public Heartbeat()
{
super("Heartbeat");
Log.v("SUPER", "SUPER");
}
@Override
protected void onHandleIntent(Intent intent)
{
Log.v("HERE", "HERE");
//do other stuff
Ни один из этих операторов журнала не отображается в console/logcat, и моя служба никогда не обращается к веб-серверу (этот код ранее находился в асинхронной задаче и функционировал). Любые идеи о том, что я делаю неправильно?
Изменить. Я вижу предупреждение от тега ActivityManager во всех моих сообщениях, в котором говорится: «Невозможно запустить службу Intent {act=com.example.vs_1.Heartbeat}: не найдено». Однако почти каждое предложение, которое я видел в этом сообщении, заключалось в том, чтобы поместить манифест в тег приложения, что я уже сделал.
Log.v()
) и ваше приложение установлено в настройках консоли? Вы используете eclipse или автономную ddms?) - person Tomasz Gawel   schedule 02.11.2012com.example.vs_1.Heartbeat
(я думаю, из предупреждения:act=com.example.vs_1.Heartbeat, not found
), вы должны объявить его в манифесте как<service android:name=".vs_1.Heartbeat" android:enabled="true"/>
, если пакет приложенияcom.example
- person Tomasz Gawel   schedule 02.11.2012<service android:name=".Heartbeat" android:enabled="true"/>
- person Tomasz Gawel   schedule 02.11.2012