чакащо намерение не работи в известие, създадено от услуга

Имам две дейности A и B. A се стартира при стартиране на приложението. Имам услуга, която се стартира от 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 трябва да бъде посочен и в ДВАТА манифеста? Т.е. в манифеста на Дейност А и Дейност Б? - person PeteH; 02.02.2013
comment
Дейността е един единствен прозорец на приложение, а не самото приложение. Проектът за приложение или библиотека може да има само един манифест. - person Auriukas; 08.11.2013