5

私は GPS ベースのアプリを開発しており、通知や進行状況バーなどの UX 機能を追加し始めたばかりですが、進行中の通知の使用に固執しています。

GPS アプリなので、ユーザーの追跡が開始されると、追跡されていることを示す進行中の通知を設定しましたが、アプリで「追跡を停止」をタップしたときにこの通知を停止するにはどうすればよいですか? NotifyManager に何かを伝える必要がありますか? ユーザーが再生を押すと「再生中」の通知が表示されますが、一時停止すると、進行中の「再生中」の通知が破棄されるため、基本的には音楽プレーヤーの機能を取得しようとしています。

また、これまで GPS を使用したことはありませんが、OS によってアプリがメモリから取り出された場合にユーザーの追跡が停止されないように、サービスでこれを行う必要がありますか? それともそうなりませんか?

4

2 に答える 2

9

通知についてはあまり行っていませんが、次のことを試してみてください。

NotificationManager.cancel(id); // Where 'id' is the id of your notification

NotificationManagerもちろん、そのインスタンスの名前に置き換えます。

ドキュメント: http://developer.android.com/reference/android/app/NotificationManager.html#cancel%28int%29

またはこれ:

Notification.Builder.setAutoCancel(true);

http://developer.android.com/reference/android/app/Notification.Builder.html#setAutoCancel%28boolean%29

于 2011-03-06T03:14:30.367 に答える
3

始める

int id = 01;
NotificationCompat.Builder mBuilder =
      new NotificationCompat.Builder(this)
        .setSmallIcon(R.drawable.ic_launcher)
        .setContentTitle(getResources().getString(R.string.service_header))
        .setContentText("Connect to: http://" + httpd.getip() + ":8080")
        .setContentIntent(pendingIntent)
        .setOngoing(true);

NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(01, mBuilder.build());

キャンセル

NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancel(01);
于 2015-01-02T13:19:41.353 に答える