2012-05-08 3 views
0

У меня есть BroadcastReceiver, использующий BOOT_COMPLETEDintent-filter в AndroidManifest, который затем запускает свою Service при загрузке устройства. Возможно ли запустить мой Service, но на самом деле не запустить код в Service? У меня есть AlarmManager, которые запускают Service с регулярным интервалом, но в идеале я бы хотел, чтобы этот код не запускался при запуске устройства.Запустить приложение при загрузке устройства, но не запускать службу

<receiver android:name="com.app.AlarmReceiver"> 
    <intent-filter> 
     <action android:name="android.intent.action.BOOT_COMPLETED" /> 
    </intent-filter> 
</receiver> 

ответ

1

Да, звоните startActivity:

@Override 
public void onReceive(Context context, Intent intent) { 
    Intent i = new Intent(); 
    i.setClassName("com.test", "com.test.MainActivity"); 
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    context.startActivity(i); 
} 
+0

К сожалению, я не думаю, что было ясно, что я хотел сказать, у меня '' 'обслуживания и AlarmManager' запуск при загрузке, но не на самом деле запустить код «Сервис». Я не хочу, чтобы мое приложение фактически отображалось пользователю при его запуске. –

+0

Итак, если ваша служба работает, но не ваша активность, пользователю ничего не будет отображаться. Кстати, что вы подразумеваете под «запустили ли мои службы и AlarmManager при загрузке, но фактически не запустили код службы»? –

+0

В основном, мое приложение запускает мою службу в определенный интервал с помощью 'AlarmManager'. Поэтому я хочу, чтобы «AlarmManager» запускался, когда устройство загружается, но я не хочу, чтобы «Сервис» запускал его код при загрузке устройства. Я хочу, чтобы код в «Сервис» запускался на следующем интервале после загрузки устройства. Я предполагаю, что мне нужен способ обнаружить в «Сервис», только что загрузилось устройство. –

Смежные вопросы