2013-08-21 2 views
11

Ok Я видел много людей, просто отклонить этот вопрос, говоряКак создать значок уведомлений строка состояния справа?

«он зарезервирован для компонента ОС»

«требует доступа к источнику»

Ну у меня есть доступ к источник и я могу установить любое приложение или виджет, который я хочу в качестве системного приложения. Итак, теперь, как бы я сделал, чтобы мой виджет показывал свое уведомление с правой стороны?

EDIT: ОК ppl идут не в том направлении, так что при необходимости добавьте контекст. , , посмотрите на телефон ур. , , u видеть сигнал Wi-Fi и телефонный сигнал на правой стороне телефона все время. Я хочу, чтобы там был показан и мой сигнал. , , наряду с системными сигналами. , У меня есть новый аппаратный чип в планшете, который делает моя компания, и я должен постоянно показывать его уровень сигнала, как сигнал телефона. Он будет интегрирован в Android-планшет планшета.

+0

Вы говорите о том, как создать панель состояния стиля Android TABLET? – Robin

+0

№. , , посмотрите на телефон ур. , , u видеть сигнал wifi и сигнал телефона на правой стороне телефона все время право. Я хочу, чтобы там был показан и мой сигнал. , , наряду с системными сигналами. , У меня есть новый аппаратный чип в планшете, который моя компания делает, и ive, чтобы постоянно отображать силу сигнала, как телефонный сигнал. он будет интегрирован в источник Android. –

+0

так много просмотров и ответа нет. , , может кто-то опросить вопрос, чтобы люди чувствовали необходимость ответить на него ??или как работает баунти? –

ответ

6

Вам может понадобиться обратиться к коду исходного кода Android в строке состояния телефона, на https://android.googlesource.com/platform/frameworks/base/+/android-4.3_r3.1/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java

И посмотрим на методы, как

addIcon 
updateIcon 
removeIcon 

Это простая задача не так у вас есть чтобы добавить много вещей самостоятельно.

+0

Наконец Хороший Ведущий. , tnx mate :) –

+0

@PrinceChampappilly любой прогресс с этим ответом? vallathum nadakkumo? –

+0

@ VishnudevK vallathum nadakuvo ennu chodicha. , Да, это ответ. , , Но вам нужно добавить пользовательский прослушиватель ur в рамки Android. То, что я сделал, это вытащить код для телефона с двумя SIM-картами и заменить второе уведомление о симуляторе моим пользовательским уведомлением. , таким образом мне просто нужно было отредактировать этот экземпляр через код. Я не завершил весь процесс. , , Я был переназначен на другой проект на полпути. –

-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

Это не то, что он ищет, он хочет, чтобы значок в панели уведомлений отображался с правой стороны. –

+0

Уведомление о уведомлении = новое уведомление (значок, tickerText, когда); , пожалуйста, найдите эту строку в приведенном выше коде. Эта строка является значком отображения уведомлений в строке состояния. – dipali

+0

это создаст уведомление по умолчанию, отметьте http://developer.android.com/reference/android/app/Notification.html –

-1

Я нашел некоторую соответствующую информацию относительно вашего вопроса на этом форуме ...

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

--Хороший день

+0

Я ищу панель уведомлений android. , не тот: P –

0

У меня есть один простая идея, а именно:

В манифест объявляет ориентацию экрана Android как ландшафт и дизайн как пейзаж для портретного режима так что приложение ur выглядит как портрет в ландшафтном режиме.

+0

: отличная идея. он работал хорошо. Спасибо – ArunMak

+0

Ха-ха. , это работает только тогда, когда внутри приложения. , , Я хочу, чтобы это работало с нажатием кнопки виджета, чтобы он всегда отображался даже на главной странице. , , nice trick Кстати: P –

+0

Вам нужно в какой-то мере изменить ОС Android, но поскольку Android является открытым исходным кодом, это не проблема. Проблема заключается в том, чтобы установить его на телефоны - если вы заметили, единственные компании, у которых есть пользовательские интерфейсы, также являются производителями телефонов, поэтому они могут просто отправлять свои телефоны с установленным. – Ruban

2

Вам нужно изменить несколько мест:

рамки/основание/ядро ​​/ RES/RES/значения/config.xml, добавить слот в: <string-array name="config_statusBarIcons">

затем рамки/базовый/пакеты/SystemUI/SRC/COM/Android/systemui/статусной/телефон/PhoneStatusBarPolicy.java:

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

это в основном это, я уверен, что вы можете выяснить, остальные самостоятельно с некоторыми проб и ошибок.

Смежные вопросы