6

何かをするのに助けが必要です。Androidステータスバーに通知を表示しようとしています。

サーバーとの同期が進行中であることをユーザーに通知します。

今、私はこのコードを使用し、正常に動作します:

    NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
            .setSmallIcon(android.R.drawable.stat_notify_sync).setWhen(System.currentTimeMillis())
            .setAutoCancel(false).setOngoing(true);

    NotificationManager nm = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
    Notification notif = builder.getNotification();
    nm.notify(1, notif);

唯一の問題は、ユーザーがステータスバーを展開したときにビューが作成されることです。私がやりたいことは、コンテンツビューなしで、ステータスバーの上部に小さなアイコンのみを表示することです.

誰もそれを行う方法を知っていますか? 前もって感謝します!

4

4 に答える 4

1

このメソッドを使用して、ステータスバーに通知アイコンを表示できます

 private void showNotification() {
    nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    // In this sample, we'll use the same text for the ticker and the
    // expanded notification

    // Set the icon, scrolling text and timestamp
    Notification notification = new Notification(R.drawable.ic_launcher,
            "Service Started", System.currentTimeMillis());
    // The PendingIntent to launch our activity if the user selects this
    // notification
    PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
            new Intent(this, MainActivity.class), 0);
    // Set the info for the views that show in the notification panel.
    notification.setLatestEventInfo(this, getText(R.string.service_label),
            "Service Started", contentIntent);
    // Send the notification.
    // We use a layout id because it is a unique number. We use it later to
    // cancel.
    nm.notify(R.string.service_started, notification);

}
于 2013-04-09T05:09:57.123 に答える
0

まあ、これは InputMethodService で可能です。showStatusIcon(resource_name) を使用するだけです。しかし、これは入力サービス以外には良い考えではないと思います。

于 2013-07-01T11:32:43.930 に答える