2013-08-21 52 views
11

Ok tôi thấy rất nhiều người dân chỉ bỏ câu hỏi này bằng cách nóiCách tạo biểu tượng thanh Notification status ở bên phải?

"nó dành cho thành phần hệ điều hành"

"nó đòi hỏi quyền truy cập vào mã nguồn"

Vâng, tôi được tiếp cận với nguồn và tôi có thể đặt bất kỳ ứng dụng hoặc tiện ích nào tôi muốn làm ứng dụng hệ thống. Vì vậy, bây giờ làm thế nào tôi sẽ đi về làm cho widget của tôi hiển thị thông báo của nó ở phía bên phải?

CHỈNH SỬA: ok ppl đang đi sai hướng nên bị bệnh thêm vào ngữ cảnh tại đây. . . nhìn vào điện thoại ur. . . bạn sẽ thấy tín hiệu Wi-Fi và tín hiệu điện thoại ở bên phải điện thoại mọi lúc. Tôi muốn tín hiệu của tôi được hiển thị ở đó. . . cùng với các tín hiệu hệ thống. . Tôi có một chip phần cứng mới trong máy tính bảng mà công ty của tôi đang tạo và tôi phải hiển thị cường độ tín hiệu liên tục giống như tín hiệu điện thoại. Nó sẽ được tích hợp vào nguồn Android của máy tính bảng.

+0

Bạn đang nói về cách tạo thanh trạng thái kiểu TABLET của Android? – Robin

+0

Không. . . nhìn vào điện thoại ur. . . u thấy tín hiệu wifi và tín hiệu điện thoại ở phía bên phải của điện thoại mọi lúc. Tôi muốn tín hiệu của tôi được hiển thị ở đó. . . cùng với các tín hiệu hệ thống. . Tôi có một chip phần cứng mới trong máy tính bảng mà công ty của tôi đang tạo và ive để hiển thị cường độ tín hiệu của nó liên tục giống như tín hiệu điện thoại. nó sẽ được tích hợp vào nguồn Android. –

+0

rất nhiều lượt xem và không có câu trả lời. . . ai đó có thể bỏ phiếu cho câu hỏi để mọi người cảm thấy cần phải trả lời nó?hoặc làm thế nào để công việc bounty? –

Trả lời

6

Bạn có thể cần phải tham khảo mã của mã nguồn Android của thanh trạng thái điện thoại, tại https://android.googlesource.com/platform/frameworks/base/+/android-4.3_r3.1/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java

Và hãy nhìn vào các phương pháp như

addIcon 
updateIcon 
removeIcon 

Nó không phải là nhiệm vụ dễ dàng vì bạn có để tự mình thêm nhiều thứ.

+0

Cuối cùng là một Chì tốt. . tnx mate :) –

+0

@PrinceChampappilly bất kỳ tiến bộ nào với câu trả lời này? vallathum nadakkumo? –

+0

@VishnudevK vallathum nadakuvo ennu chodicha. . Đây là câu trả lời. . . Nhưng u cần phải thêm người nghe tùy chỉnh ur trong khung android. Những gì tôi đã làm là kéo xuống mã cho một điện thoại sim kép và thay thế thông báo tín hiệu sim 2 bằng thông báo tùy chỉnh của tôi. . theo cách đó tôi chỉ cần chỉnh sửa trường hợp đó trên mã. Tôi đã không hoàn thành toàn bộ quá trình. . . Tôi đã được giao lại cho một dự án khác một nửa. –

-1
public class GCMIntentService extends GCMBaseIntentService { 

public static final String PROJECT_ID = "4898989797"; 
private static final String TAG = "GCMIntentService"; 
ModelNotificationMessage modelNotificationMessage; 

public GCMIntentService() { 
    super(PROJECT_ID); 
    Log.d(TAG, "GCMIntentService init"); 
} 

@Override 
protected void onError(Context ctx, String sError) { 
    // TODO Auto-generated method stub 
    Log.d(TAG, "Error: " + sError); 

} 

@Override 
protected void onMessage(Context ctx, Intent intent) { 

    Log.d(TAG, "Message Received"); 

    String message = intent.getStringExtra("message"); 

    Log.d(TAG, "Message Received" + message); 

    sendNotification(message); 
    Intent broadcastIntent = new Intent(); 
    broadcastIntent.setAction("GCM_RECEIVED_ACTION"); 

    broadcastIntent.putExtra("gcm", message); 

    ctx.sendBroadcast(broadcastIntent); 
} 




private void sendNotification(String message) { 
      // this 
      String ns = Context.NOTIFICATION_SERVICE; 
      NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns); 

      int icon = R.drawable.notification; 
      CharSequence tickerText = message; // ticker-text 
      long when = System.currentTimeMillis(); 
      Context context = getApplicationContext(); 
      CharSequence contentTitle = modelNotificationMessage.getKey(); 
      CharSequence contentText = message; 
      Intent notificationIntent = null; 
      int NOTIFICATION_ID = 9999; 



       NOTIFICATION_ID = CommonVariable.notification_message; 
       notificationIntent = new Intent(this, ViewMessages.class); 
       contentText = arrayList.get(0).getDescription(); 
       tickerText = arrayList.get(0).getDescription(); 

      // and this 
      PendingIntent contentIntent = PendingIntent.getActivity(this, 0, 
        notificationIntent, 0); 
      Notification notification = new Notification(icon, tickerText, when); 
      // Play default notification sound 
      notification.defaults |= Notification.DEFAULT_SOUND; 
      notification.setLatestEventInfo(context, contentTitle, contentText, 
        contentIntent); 
      mNotificationManager.notify(NOTIFICATION_ID, notification); 
     } 
+0

Đây không phải là những gì anh ấy đang tìm kiếm, anh ấy muốn biểu tượng trên thanh thông báo được hiển thị ở bên phải. –

+0

Thông báo thông báo = thông báo mới (biểu tượng, tickerText, khi nào); vui lòng tìm dòng này ở trên mã .. dòng này là biểu tượng hiển thị thông báo trên thanh trạng thái. – dipali

+0

điều này sẽ tạo thông báo mặc định, hãy kiểm tra http://developer.android.com/reference/android/app/Notification.html –

-1

tôi tìm thấy một số thông tin liên quan về câu hỏi của bạn trên diễn đàn này ...

http://forum.kde.org/viewtopic.php?t=107601

ngày --Good

+0

Tôi đang tìm thanh thông báo android. . không phải là một: P –

0

Tôi có một ý tưởng đơn giản ví dụ:

Trong tệp kê khai khai báo hướng màn hình android làm phong cảnh và thiết kế như phong cảnh cho chế độ dọc để ứng dụng ur trông chân dung ở chế độ ngang.

+0

: ý tưởng tuyệt vời. nó hoạt động tốt.Thanks – ArunMak

+0

Haha. . điều này chỉ hoạt động khi bên trong ứng dụng. . . Tôi muốn điều này để làm việc trên một nút bấm widget để nó sẽ được hiển thị luôn luôn ngay cả trên trang chủ. . . nice trick btw: P –

+0

Bạn cần phải sửa đổi hệ điều hành Android ở một mức độ nào đó, nhưng vì Android là nguồn mở, đó không phải là vấn đề. Vấn đề là cài đặt trên điện thoại - nếu bạn nhận thấy, các công ty duy nhất có giao diện người dùng tùy chỉnh cũng là nhà sản xuất điện thoại, vì vậy họ chỉ có thể giao điện thoại của họ với điện thoại được cài đặt. – Ruban

2

Bạn sẽ cần phải sửa đổi một số vị trí:

khung/cơ sở/lõi/res/res/values ​​/ config.xml, thêm một khe trong: <string-array name="config_statusBarIcons">

sau đó khung/cơ sở/gói/SystemUI/src/com/android/systemui/statusbar/điện thoại/PhoneStatusBarPolicy.java:

mService.setIcon("<your slot name>", R.drawable.yourlogo, 0, null); 
mService.setIconVisibility("<your slot name>", setVisible); 

đó là chủ yếu nó, tôi chắc chắn rằng bạn có thể tìm ra phần còn lại một mình với một số thử nghiệm và sai sót.