2013-06-05 13 views
5

Muszę wiedzieć, dlaczego moja aplikacja nie działała od razu po uruchomieniu w prawdziwym telefonie z Androidem? Moja aplikacja działa, ale po kilku sekundach uruchamiania.Potrzebujesz uruchomić aplikację natychmiast po zakończeniu rozruchu

mój kod jest

public class AutoStart extends BroadcastReceiver{ 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     // TODO Auto-generated method stub 
     if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){ 
       Intent i = new Intent(context, MyActivity.class); 
       i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
       context.startActivity(i); 
      } 
    } 

} 

Moja działalność jest uruchomiony, ale po kilku sekundach bagażniku zakończone. Czy można to zmniejszyć o kilka sekund?

Chcę natychmiast uruchomić aplikację. Nie chcę pozwolić użytkownikowi na dostęp do telefonu.

+0

Nie można skrócić czasu uruchamiania aplikacji po rozruchu. System operacyjny telefonów przygotowuje pamięć masową i wykonuje usługi oraz procesy, w tym zestaw aplikacji po zakończeniu rozruchu. Zajmie to trochę czasu, ponieważ zależy również od pamięci (RAM) telefonu. Wyższa pamięć RAM szybko uruchamia aplikacje i usługi. –

Odpowiedz

10

To może zwiększyć priorytet priorytet, ale nadal będzie pewne opóźnienie. Ponieważ Android najpierw ładuje swój system operacyjny i wszystkie inne działania rozpoczynają się.

<receiver 
    android:name=".AutoStart" 
    android:enabled="true" 
    android:exported="true" 
    <intent-filter android:priority="1000"> 
     <action android:name="android.intent.action.BOOT_COMPLETED" /> 
    </intent-filter> 
</receiver> 
+0

Jaki jest najwyższy priorytet? A jeśli inna aplikacja ma ten sam priorytet, czy ta flaga nie będzie bezużyteczna? – HendraWD

+2

Wartość musi być liczbą całkowitą, na przykład "100". Wyższe liczby mają wyższy priorytet. Wartość domyślna to 0. Wartość musi być większa niż -1000 i mniejsza niż 1000. od https://developer.android.com/guide/topics/manifest/intent-filter-element.html – HendraWD

1

System Android wykonuje wiele prac po rozruchu. dlatego intencja może być opóźniona. W zależności od możliwości telefonu, czasy opóźnień intencji będą się różnić.

Powiązane problemy