Mam aplikację, w której otrzymuję wiadomość SMS zawierającą jego lokalizację. Podczas odbierania wiadomości SMS wywołuje ona inną czynność, aby rozpocząć i przekazuje tę lokalizację do tej aktywności, aby narysować ją na mapie.Przed wywołaniem drugiej czynności wyświetla toast jak powiadomienie na ekranie, ale z powodu wywołania drugiej czynności, że toast nie pojawia się.Miałem pytanie, jak możemy opóźnić wywołanie drugiego działania z tego działania?Jak opóźnić wywołanie działania z innej aktywności?
10
A
Odpowiedz
39
Można użyć czegoś takiego:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent i=new Intent(SearxhJobs.this,JobsTypes.class);
startActivity(i);
}
}, 5000);
Tutaj czeka zapisu do 5 sekund na uruchomienie działalności.
Mam nadzieję, że pomoże
2
Utwórz AsyncClass, który wykonuje Thread.sleep() w metodzie doInBackground(), a następnie przejdź do nowej aktywności w swojej metodzie onPostExecute().
Zadzwoń do swojego toastu, a następnie uruchom AsyncClass.
5
Można to zrobić z Handler
tak
Handler h = new Handler(){
@Override
public void handleMessage(Message msg) {
Intent i = new Intent().setClass(ctx, MainActivity.class);
startActivity(i);
}
};
h.sendEmptyMessageDelayed(0, 1500); // 1500 is time in miliseconds
0
Wystarczy ustawić układ!
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
setContentView(R.layout.next); //where <next> is you target activity :)
}
}, 5000);
1
Spróbuj:
Runnable r = new Runnable() {
@Override
public void run() {
// if you are redirecting from a fragment then use getActivity() as the context.
startActivity(new Intent(SplashActivity.this, MainActivity.class));
// To close the CurrentActitity, r.g. SpalshActivity
finish();
}
};
Handler h = new Handler();
// The Runnable will be executed after the given delay time
h.postDelayed(r, 1500); // will be delayed for 1.5 seconds
0
Przykładem może być następujący:
Handler TimeDelay=new Handler();
if(previous=="geofence"){
tts.speak(previous,TextToSpeech.QUEUE_ADD,null, null);
Runnable r = new Runnable() {
@Override
public void run() {
/*
Intent intent = new Intent(
MyBroadcastMessageReceiver.class.getName());
intent.putExtra("some additional data", choice);
someActivity.sendBroadcast(intent);*/
tts.speak(previous,TextToSpeech.QUEUE_ADD,null, null);
}
};
TimeDelay.postDelayed(r, 150000);
Powiązane problemy
- 1. Jak zakończyć działanie z innej aktywności
- 2. Kończenie działania z innej klasy
- 3. Czy jest jakiś sposób na zwolnienie kamery z innej aktywności po nabyciu jej z innej aktywności.?
- 4. Uzyskaj dane z innej aktywności
- 5. Zamykanie działania z innej klasy
- 6. Wywołanie działania Szyny z JavaScript
- 7. Android, jak wykryć, że aktywność powraca z innej aktywności?
- 8. opóźnić wywołanie metody w Objective-C
- 9. Jak zwolnić rzeczywistą pamięć obiektów aktywności po wyjściu z działania?
- 10. Jak mogę opóźnić wywołanie metody na 1 sekundę?
- 11. Jak zakończyć działanie po rozpoczęciu innej aktywności w systemie Android?
- 12. Chcę przenieść obraz z jednej aktywności do innej
- 13. Jak zatrzymać usługę z innej aktywności w systemie Android?
- 14. Jak wysłać zdjęcie z jednej aktywności do innej
- 15. NSTimer - jak opóźnić Swift
- 16. Pobierz bieżący kontekst działania w klasie innej niż działalność
- 17. Wywołanie zmiennej z innej klasy PHP
- 18. Wywołanie funkcji chmury z innej funkcji chmurowej
- 19. java wywołanie metody z innej klasy
- 20. Wywołanie funkcji z innej paczki w Go
- 21. C++ Wywołanie funkcji z innej klasy
- 22. Wywołanie mutacji GraphQL z innej mutacji?
- 23. Android: Wywołanie aktywności upraw po zrobieniu zdjęcia
- 24. "Ignorowanie" P/Wywołanie podczas działania na Mono
- 25. Jak przekazywać wartości z jednej aktywności do poprzedniej aktywności?
- 26. Prześlij listę tablicową z jednej aktywności do innej
- 27. Android: Przekierowanie do innej aktywności po opóźnieniu
- 28. Usuwanie widoku z działania
- 29. Zatrzymywanie IntentService z działania
- 30. Jak opóźnić ngAnimate w ngRepeat