ожидание намерения не работает в уведомлении, созданном службой

У меня есть два действия A и B. A запускается при запуске приложения. У меня есть служба, которая запускается из A.

вот мой код в Activity A.

Button btnStart = (Button) findViewById(R.id.button1);
    btnStart.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            startService(new Intent(getBaseContext(), Service_class.class));

        }
    });

Вот метод onStartCommand в моем сервисе.

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    createNotification();
    Toast.makeText(this, "Service Started", Toast.LENGTH_LONG).show();
    return START_STICKY;
}

вот метод createNotification

private void createNotification() {

    NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    Intent nintent = new Intent();
    nintent.setClass(this, TestActivity.class);
    PendingIntent pin = PendingIntent.getActivity(getApplicationContext(),
            0, nintent, 0);
    String title = "KR Darsan";
    String body = "This is a notification from darsh";
    Notification n = new Notification(R.drawable.ic_launcher, body,
            System.currentTimeMillis());
    n.contentIntent = pin;
    n.setLatestEventInfo(getApplicationContext(), title, body, pin);

    n.defaults = Notification.DEFAULT_ALL;
    nm.notify(unique_id, n);

}

Я устанавливаю действие B (TestActivity) в ожидающем намерении. Уведомление отображается так, как мне нужно, но когда я нажимаю на уведомление, активность не запускается.

Я объявил службу в манифесте.

<service android:name=".Service_class" />

Есть ли что-то еще, что я должен объявить в манифесте? В чем может быть проблема ?


person darsh    schedule 27.08.2012    source источник


Ответы (1)


Вы объявили TestActivity.class в AndroidManifest.xml?

person Wayne    schedule 27.08.2012
comment
Виноват! Спасибо, что указали. Я постоянно делаю глупые ошибки. - person darsh; 27.08.2012
comment
Вы говорите, что TestActivity.class должен быть указан в ОБОИХ манифестах? То есть как в манифесте Activity A, так и в Activity B? - person PeteH; 02.02.2013
comment
Активность — это одно окно приложения, а не само приложение. Приложение или проект библиотеки может иметь только один манифест. - person Auriukas; 08.11.2013