2014-09-24 138 views
2

我正在android中编写应用程序。我们将拥有多个图标的仪表板,并且我想在带有计数器编号的图标之一上显示徽章。我希望一旦发出通知,计数器号码等实现将在仪表板上得到更新。如何在通知中实现它。如何在Android中使用推送通知实现徽章

这里是一个交易,

我们有,我们正在从用户使用云(即谷歌App引擎)插入数据的表。一旦条目插入表推送通知应提示用户和仪表板上的计数器号码将更新在同一屏幕上。 请给我一个例子,以便我可以将其实施到我的应用程序中。

谢谢, Prashant。

+0

您是否收到通知? – 2014-09-24 04:36:35

+0

根据您的接收通知方法,将此链接的代码放入https://github.com/shafty023/SamsungBadger。 – Chitrang 2014-09-24 04:38:04

回答

0

你想申请徽章作为iOS应用程序? 如果你想这样做,没有从android直接的方法,因为它不是android的行为,但我们仍然可以在像三星,索尼和宏达这样的少数制造商的帮助下做到。

寻找更多的细节android-ios-style-badge-app-icon-for.html

-1

我也要求类似的一种功能我已经实现了这个使用下面的代码

菜单/ main.xml中:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:yourappname="http://schemas.android.com/apk/res-auto" > 

    <item 
     android:id="@+id/notification" 
     android:title="@string/notifications" 
     yourappname:actionLayout="@layout/notification_update_count" 
     yourappname:showAsAction="always" /> 

</menu> 

布局/ notification_update_count.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:paddingRight="10dp"> 

    <!-- Menu Item Image --> 

    <ImageView 
     android:id="@+id/notification_bell" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:clickable="true" 
     android:background="@drawable/ic_actionbar_notification" /> 

    <!-- Badge Count --> 

    <TextView 
     android:id="@+id/actionbar_notifcation_textview" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignRight="@id/notification_bell" 
     android:layout_alignTop="@id/notification_bell" 
     android:background="@drawable/counter_bg" 
     android:gravity="center" 
     android:textColor="@color/white" 
     android:visibility="invisible" /> 

</RelativeLayout> 

src/MainActivity.java:

public class MainActivity extends ActionBarActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     mContext = MainActivity.this; 
    } 



    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     if (currentPosition != 6 && currentPosition != 7 && currentPosition != 8 && currentPosition != 9) { 
      getMenuInflater().inflate(R.menu.main, menu); 
      item = menu.findItem(R.id.notification); 
      View menu_notification_view = MenuItemCompat.getActionView(item); 
      ImageView notification_bell = (ImageView) menu_notification_view.findViewById(R.id.notification_bell); 
      try { 
       TextView notification_count = (TextView) menu_notification_view.findViewById(R.id.actionbar_notifcation_textview); 
       if (Count > 0) { 
        notification_count.setVisibility(View.VISIBLE); 
        notification_count.setText(String.valueOf(Count)); 
       } 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
     return true; 
    } 

}