0
我正在創建一個android應用程序,當GCM向我的應用程序發送消息時,我想顯示總的新通知數量。我希望它出現在我的通知圖標上,如Facebook或Myntra(所有更新)。我的通知圖標位於標籤佈局中。那麼,如何才能更改或製作標記(或任何東西),以顯示有新通知?如何使用GCM在我的通知圖標上顯示通知總數
我正在創建一個android應用程序,當GCM向我的應用程序發送消息時,我想顯示總的新通知數量。我希望它出現在我的通知圖標上,如Facebook或Myntra(所有更新)。我的通知圖標位於標籤佈局中。那麼,如何才能更改或製作標記(或任何東西),以顯示有新通知?如何使用GCM在我的通知圖標上顯示通知總數
你可以試試以下,
public class BadgeNumberExample extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_badge_number_example);
setBadge(this,5);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.badge_number_example, menu);
return true;
}
public static void setBadge(Context context, int count) {
String launcherClassName = getLauncherClassName(context);
if (launcherClassName == null) {
return;
}
Intent intent = new Intent("android.intent.action.BADGE_COUNT_UPDATE");
intent.putExtra("badge_count", count);
intent.putExtra("badge_count_package_name", context.getPackageName());
intent.putExtra("badge_count_class_name", launcherClassName);
context.sendBroadcast(intent);
}
public static String getLauncherClassName(Context context) {
PackageManager pm = context.getPackageManager();
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> resolveInfos = pm.queryIntentActivities(intent, 0);
for (ResolveInfo resolveInfo : resolveInfos) {
String pkgName = resolveInfo.activityInfo.applicationInfo.packageName;
if (pkgName.equalsIgnoreCase(context.getPackageName())) {
String className = resolveInfo.activityInfo.name;
return className;
}
}
return null;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
可以請你告訴我你是如何取得這從gcm我的意思是你使用服務或什麼,你可以請顯示gcm代碼使用? –
你將不得不增加數(提示使用SharedPref。爲獲得前一消息計數)特定通知的ID。一旦用戶點擊該通知。清除通知計數(SharedPref。) –