2012-08-30 41 views
16

Tôi có đoạn code sau đây mà tôi đang sử dụng cho một ứng dụng android:Tạo một thông báo liên tục và ngăn cảnh báo trong thanh trạng thái

package com.authorwjf.e_notifications; 

import android.app.Activity; 
import android.app.Notification; 
import android.app.NotificationManager; 
import android.app.PendingIntent; 
import android.content.Context; 
import android.content.Intent; 
import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.os.Bundle; 

public class Main extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     Bitmap bm = Bitmap.createScaledBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.avatar), 
       getResources().getDimensionPixelSize(android.R.dimen.notification_large_icon_width), 
       getResources().getDimensionPixelSize(android.R.dimen.notification_large_icon_height), 
       true); 
     Intent intent = new Intent(this, Main.class); 
     PendingIntent pendingIntent = PendingIntent.getActivity(this, 01, intent, Intent.FLAG_ACTIVITY_CLEAR_TASK); 
     Notification.Builder builder = new Notification.Builder(getApplicationContext()); 
     builder.setContentTitle("This is the title"); 
     builder.setContentText("This is the text"); 
     builder.setSubText("Some sub text"); 
     builder.setNumber(101); 
     builder.setContentIntent(pendingIntent); 
     builder.setTicker("Fancy Notification"); 
     builder.setSmallIcon(R.drawable.ic_launcher); 
     builder.setLargeIcon(bm); 
     builder.setAutoCancel(true); 
     builder.setPriority(0); 
     Notification notification = builder.build(); 
     NotificationManager notificationManger = 
       (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
     notificationManger.notify(01, notification);   
    } 

} 

Về cơ bản các ứng dụng khi đưa ra sẽ tạo ra một thông báo, bây giờ tôi có một vài câu hỏi sau:

  • Có thể khi ứng dụng được khởi chạy thông báo được hiển thị trong danh sách thông báo kéo xuống nhưng không có biểu tượng trên thanh trạng thái. I E. tham khảo

http://imagebin.org/226494

không thể vào biểu tượng vòng tròn màu đỏ được hiển thị? Cuối cùng tôi muốn tạo một dịch vụ chỉ nằm trong thông báo kéo xuống.

  • Có cách nào để thực hiện thông báo trong trường hợp kéo xuống vĩnh viễn tức là. nếu biểu tượng vòng tròn màu xanh lam (http://imagebin.org/226494) được nhấn thì thông báo vẫn còn?

Tôi mới dùng Android dev và cố gắng nắm bắt những gì tôi có thể làm với thông báo.

Cảm ơn

+0

hình ảnh bài đăng không thể truy cập được. bạn có thể sử dụng imagebin.org – nandeesh

+0

xin chào, xin lỗi về điều đó tôi đã cập nhật các liên kết đến imagebin – Dino

Trả lời

37
  • A1: Để loại bỏ các biểu tượng trên thanh trạng thái, sử dụng thủ thuật này:

    builder.setSmallIcon(android.R.color.transparent); //Tested and worked in API 14 
    
  • A2: Để thực hiện Thông báo presistant, thêm dòng này:

    builder.setOngoing(true) 
    
+0

! cảm ơn bạn – Dino

+0

@Dino Bạn được chào đón :-) – iTurki

+0

Làm thế nào để bạn đặt cài đặt này trên API cũ hơn? API8 không có Trình tạo. –

1

Hãy xem ongoing event flag. Tôi tin rằng điều này có thể tạo các thông báo đang diễn ra tương tự như thông báo kết nối wifi và kết nối usb của hệ thống.

+0

hi, cảm ơn tôi sẽ xem xét điều này hoàn hảo – Dino

Các vấn đề liên quan