уведомление об открытии нового окна независимо от того, что в Java Android - PullRequest
1 голос
/ 02 октября 2011

Я хочу запустить уведомление.Когда я нажимаю на него, он открывает новое окно приложения.Вот мой код:

public class Noficitation extends Activity {

NotificationManager nm;
static final int uniqueID = 1394885;
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    Intent intent= new Intent (Intent.ACTION_MAIN);
    intent.setClass(getApplicationContext(), SchoolBlichActivity.class);
    PendingIntent pi=PendingIntent.getActivity(this, 0, intent, 0);
    String body = " body";
    String title = "title!";
    Notification n =new Notification(R.drawable.table, body, System.currentTimeMillis());
    n.setLatestEventInfo(this, title, body, pi);
    n.defaults = Notification.DEFAULT_ALL;
    n.flags = Notification.FLAG_AUTO_CANCEL;
    nm.notify(uniqueID,n);
    finish();
}

, кстати, если я добавлю nm.cancel (uniqueID) перед finish (), он создаст уведомление и немедленно удалит его ...

Спасибоза помощь: D

Ответы [ 2 ]

2 голосов
/ 02 октября 2011

Возможно, вы захотите просто добавить уведомление в панель уведомлений, и когда пользователь щелкнет по нему, он запустит фактическую активность.Таким образом, пользователь не будет прерван во всем, что он делает.

Создайте уведомление в строке состояния следующим образом:

NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.notification_icon, "Hello", System.currentTimeMillis());

Intent notificationIntent = new Intent(this, myclass.class);
notification.setLatestEventInfo(getApplicationContext(), "My notification", "Hello world!", notificationIntent, PendingIntent.getActivity(this, 0, notificationIntent, 0));

mNotificationManager.notify(1, notification);

http://developer.android.com/guide/topics/ui/notifiers/notifications.html

1 голос
/ 02 октября 2011

Вы просто пытаетесь открыть окно уведомлений в текущей деятельности? Потому что, если вы, я не думаю, что вам нужно запустить его с намерением. Обычно вы используете намерения только для запуска новых служб или действий в вашем приложении, если только вы не создали собственный вид и действие / службу, которые должны выполняться в окне уведомления. Я вижу, вы настроили его в своем собственном классе, и это нормально, но я думаю, что если вы сделаете это по умолчанию, откроется совершенно новое представление.

Если вам нужно запустить уведомление во время процесса или что-то вроде нажатия кнопки, вам не нужно иметь намерение там ..... или, по крайней мере, я никогда не делал :) Что именно вы пытаетесь достичь с помощью уведомления .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...