1
上でfinish()を呼び出すと、最近のアプリケーションリストからアプリケーションを除外しています。バックグラウンドでサービスを実行していて、通知で通知を作成してユーザーが通知をクリックすると、 )。ユーザーがボタンを押しても、バックグラウンドサービスを実行したままにして、そのアクティビティを終了したいアクティビティ内でfinish()メソッドを呼び出していますが、完全に閉じるのではなく、アプリケーションが最近のアプリケーションリストに存在しています。アクティビティ
通知を作成するコードです。
Intent notificationIntent = new Intent(this, SurveyForm.class);
notificationIntent.setAction(Constants.SURVEY_ACTION);
PendingIntent resultPendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Notification notification = new NotificationCompat.Builder(this)
.setContentTitle("Survey")
.setTicker("New Survey")
.setContentText("Please, answer the survey.")
.setSmallIcon(R.drawable.survey_notification_icon)
.setSound(alarmSound)
.setLights(0xff00ff00, 1000, 1000)
.setContentIntent(resultPendingIntent)
.setOngoing(true)
.build();
notification.defaults = Notification.DEFAULT_VIBRATE;
mNotificationManager.notify(Constants.SURVEY_NOTIFICATION_ID, notification);
とボタンのコードは以下の通りです:
bSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
//Close the notification
nm.cancel(Constants.SURVEY_NOTIFICATION_ID);
//Close this Activity
finish();
}
});
更新
私は、対応する活動のためのマニフェストファイルに次のプロパティを指定することによって、問題を解決しました。
アンドロイド:
excludeFromRecents = "true" を、あなたは、 "最小化" とはどういう意味ですか? Androidには、アプリを「最小化する」という概念はありません。 – Karakuri
@ Karakuri私はアプリケーションが隠されているが、最近のアプリのリストに表示されていることを最小限に抑えることによって、 – Enrique
@Enrique、解決策を質問の回答として投稿し、それを受け入れてください。それはより良い方法で他の人を助け、またポイントを得ることになります。 –