2013-07-01 19 views
1

我的需求是當推送通知進入我的設備時,我需要調用Asynctask。該應用可以在後臺運行。我不應該點擊通知,而是在需要時調用Asynctask。那可能嗎?當出現推送通知時調用Asynctask

+1

是的這是可能的你想使用GCM! –

+0

是的,我打算使用GSM – Mathew

+0

我可以知道你在Asynctask中需要做什麼 –

回答

2

在您的GCMIntentService中,只需重寫onMessage(..)方法,此方法在推送通知正在設備中調用時調用。

@Override 
    protected void onMessage(Context context, Intent intent) { 

     mContext = context; 

     final String message = intent.getStringExtra("message"); 
     Log.e(TAG, "GCM Received message : "+message); 


    AsyncTask<Void, Void, Void> DatabaseOperationTask = new AsyncTask<Void, Void, Void>() { 

      @Override 
      protected Void doInBackground(Void... params) { 

       // do your Database Operation here 

       return null; 
      } 

      @Override 
      protected void onPostExecute(Void result) { 

       super.onPostExecute(result); 

      } 
     }; 
     DatabaseOperationTask.execute(); 

    } 
+0

感謝您儘快回覆.. – Mathew

1

是有可能

你有GCMIntentService具有

@Override 
    protected void onMessage(Context context, Intent intent) 
     { 

     } 

此方法接收消息的方法和產生的通知,你可以在這個方法執行你的異步任務,如果你需要的服務有任何上下文它自己的上下文

+0

謝謝Farrukh .. – Mathew

+0

永遠歡迎你@Mathew – farrukh