A と B の 2 つのアクティビティがあります。アプリケーションの起動時に A が起動されます。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" />
マニフェストで宣言する必要があるものは他にありますか? 何が問題なのですか?