2013-01-22 25 views
0

我的問題是決策GCM通知在應用配置

如何使用

GCMRegistar.unregistar(context). 

是否有任何方法來停止接收通知,停止從GCM服務接收通知的跟了出去。

我需要這個,因爲我想使GCM推送通知功能配置的用戶,如果用戶設定爲獲得通知,他將收到通知,否則停止接收用了取消註冊設備

任何鏈接幫助了我很多通知。

+0

用的GetNotification函數本身使用sharedpreferences找出用戶是否需要通知或不 – Manju

回答

0

我做了類似的事情,關於我的應用程序,如果你得到付費版本,你會得到通知,如果你得到免費版本,你不會得到這樣的更新。

我通過向表中添加一個字段來完成此操作,其中所有我的註冊ID都稱爲狀態。當我的服務器完成通知推送時,它只會發送給狀態爲「已付款」的那些註冊。

因此,對於您的情況,我建議您嚮應用程序添加選項以停止接收通知。此方法將像如下執行後到你的服務器:

Function updateNotificationStatus(boolean status) 
{ 
HttpClient client = new DefaultHttpClient(); 
HttpPost post = new HttpPost("http://yourserver/update.php"); 

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1); 
nameValuePairs.add(new BasicNameValuePair("status", status)); 

post.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
HttpResponse response = client.execute(post); 
BufferedReader rd = new BufferedReader(new 
} 

處理您的服務器上的這些帖子,只是在你的表更新狀態字段。

希望這有助於

+0

雅好做,但我的要求是不同的,我想,使其靜態方式與應用程序用戶的選擇來獲得通知感謝發佈 – Manju

+0

@ Manju-除非您點擊GCMRegistar.unregistar(上下文)或應用程序卸載,否則您不能停止接收推送,但可以停止在已配置狀態下顯示推送基地。如果應用程序收到推送消息。希望這可以幫助你。 – vinaykumar