nie byłem pewien jak szukać tego ...Android PendingIntent przeniesie Cię do już istniejącej działalności?
Mam następujące która jest wywoływana, gdy zadanie jest dodawane lub usuwane z mojego kolejki umieścić zawiadomienie w pasku stanu:
private void showNotification()
{
int jobsize = mJobQueue.size();
int icon = (jobsize == 0) ?
android.R.drawable.stat_sys_upload_done :
android.R.drawable.stat_sys_upload;
Notification notification =
new Notification(icon, "Test", System.currentTimeMillis());
Intent intent = new Intent(this, FileManagerActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
notification.flags =
(Notification.FLAG_SHOW_LIGHTS | Notification.FLAG_AUTO_CANCEL);
notification.setLatestEventInfo(this,
"Uploading to our servers",
getString((jobsize > 0) ?
R.string.notification_active_transfers :
R.string.notification_no_transfers),
pendingIntent);
mNotifyManager.notify(NOTIFICATION, notification);
}
jak jest teraz zachowanie to:
jeśli użytkownik loguje się i uderza zgłoszenie, będzie nadal otwierać nowe FileManagerActivity mogę obejść ten problem poprzez uruchomienie w moim uwierzytelniania (oPS!) aktywność i przekazywanie inte Idź do mojego stosu w naturalnej kolejności, a kiedy aplikacja jest już uruchomiona, mam problemy.
jeśli użytkownik ma już otwartą funkcję FileManagerActivity, to powiadomienie spowoduje nadpisanie drugiej instancji. W tym przypadku chcę, aby uruchomiona usługa FileManagerActivity otrzymała fokus zamiast uruchamiania nowej instancji.
Jak mogę uzyskać prawidłowe zachowanie?
widzę, więc chyba powinienem zrobić parnoid kontrolę we wszystkich moich działaniach uwierzytelniania nie miałbym? –
Dobry pomysł, tak. –