Как скрыть активность звонка с сервиса андроид - PullRequest
0 голосов
/ 16 декабря 2011

У меня есть служба, которая иногда вызывает действие, показывающее alerttdialog. Когда нажата кнопка «ОК», я хочу перейти к активности моего приложения, которая была раньше на экране, или, если мое приложение не было впереди, приходить.вернуться к окну, которое показывал пользователь .. это мой alerttdialog

public class ActivityNotification extends Activity{
private String client,notifica;
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    client = getIntent().getStringExtra("client");
    notifica = getIntent().getStringExtra("notifica");

    final AlertDialog alertDialog = new AlertDialog.Builder(this).create();
    alertDialog.setTitle("Notifica da "+client);
    alertDialog.setMessage(notifica);
    alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            alertDialog.cancel();
        }
    });
    alertDialog.setIcon(R.drawable.icon);
    alertDialog.show();
}
}

и именно так я называю это действие из службы

Notification notification = new Notification(R.drawable.icon, "Notifica da "+client, 10000);
    notification.flags |=Notification.FLAG_AUTO_CANCEL;
    CharSequence contentTitle = "Notifica da "+client;
    CharSequence contentText = notifica;
    notification.defaults |= Notification.DEFAULT_SOUND;
    notification.defaults |= Notification.DEFAULT_VIBRATE;
    //Intent notificationIntent = new Intent(this,ActivityNotification.class);
    Intent notificationIntent = new Intent();
    notificationIntent.setClassName("package", "package.ActivityNotification");
    notificationIntent.putExtra("client",client);
    notificationIntent.putExtra("notifica",notifica);
    notificationIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent,0);
    notification.setLatestEventInfo(this, contentTitle, contentText, contentIntent);
    mManager.notify(id, notification);

что я могу сделать?ты можешь мне помочь?

Ответы [ 2 ]

0 голосов
/ 16 декабря 2011

Похоже, вам нужно восстановить стек истории приложений, которые в данный момент находятся на телефоне.ActivityManager может помочь вам в этом.

Ссылка:

http://developer.android.com/reference/android/app/ActivityManager.html

0 голосов
/ 16 декабря 2011

Кажется, у вас есть куча всего, что нужно, чтобы начать работу с сервиса. Почему вы не можете просто сделать что-то вроде:

Intent intent = new Intent(getBaseContext(), SomeActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplication().startActivity(intent);

...