如何在android中使用推送通知实现badge
我正在用android编写一个应用程序。我们将有多个图标的仪表板,我想显示一个带有计数器编号的图标上的徽章。我想实现,如计数器号码将得到更新的仪表板上,一旦通知来。我如何在通知时实现它 这是一个交易 我们有一个表,在其中插入来自使用云的用户(即Google App Engine)的数据。一旦条目被插入到表中,推送通知将提示用户,仪表板上的计数器编号将在同一屏幕上更新。 请给我一个例子,这样我就可以在我的应用程序中实现它 谢谢,如何在android中使用推送通知实现badge,android,android-notifications,Android,Android Notifications,我正在用android编写一个应用程序。我们将有多个图标的仪表板,我想显示一个带有计数器编号的图标上的徽章。我想实现,如计数器号码将得到更新的仪表板上,一旦通知来。我如何在通知时实现它 这是一个交易 我们有一个表,在其中插入来自使用云的用户(即Google App Engine)的数据。一旦条目被插入到表中,推送通知将提示用户,仪表板上的计数器编号将在同一屏幕上更新。 请给我一个例子,这样我就可以在我的应用程序中实现它 谢谢, Prashant.您想将该应用程序的badge应用为iOS吗? 如果
Prashant.您想将该应用程序的badge应用为iOS吗? 如果你想做到这一点,android没有直接的方法,因为这不是android的行为,但我们仍然可以借助三星、索尼和HTC等少数制造商的帮助
查看更多详细信息我需要类似的功能,我使用以下代码实现了这一点 menu/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>
你收到通知了吗?在你的接收通知的方法中,从这个链接输入代码。
<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>
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;
}
}