Имам IntentService, който искам да стартирам при onCreate. Това е пожар и забравете, че прави повикване до уебсайт и след това (евентуално) започва изтегляне чрез downloadmanager. Не вярвам, че моята услуга се стартира, защото не виждам никакви отчети за журнал от нея. Имам услугата в моя манифест, същия пакет като основния. Също така не се показва в моя logcat (друга тема каза, че трябва).
onCreate:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
Intent heartbeat = new Intent(this, Heartbeat.class);
startService(heartbeat);
}
*Опитах и това.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>
*със или без android:enabled флаг няма значение
начало на 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
Нито един от тези отчети за журнал не се показва в конзолата/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