2016-10-19 69 views
0

我使用Android原生SDK MFP推送通知。我正在嘗試實施推送通知。IBM MobileFirst:如何使應用程序接收的任何活動

按照商務部MFP是要求把

<activity 
     android:name=".controllers.activities.MyActivity" 
     android:launchMode="singleTask" 
     android:theme="@style/AppTheme.NoActionBar"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 

     <intent-filter> 
      <action android:name="com.mypackage.NOTIFICATION" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 

我綁定的通知意圖過濾器的活動。

的問題是我有ATLEAST 10個活動在我的Android應用程序,並在我的應用程序是在前臺我收到一個推送onMessage方法被稱爲我可以通知到應用程序。

當我的應用程序切換到後臺,我得到那麼推送通知這就是一個問題。我啓動我的應用程序與上述活動,但我移動到不同的活動,然後我現在發送我的應用程序到背景,如果我得到一個推送通知它登陸通知欄,直到現在一切正常。但是當我點擊通知時,它會將我的應用程序帶到前臺,並進入上述活動MyActivity並殺死禮物活動。

一些身體能告訴我如何阻止這種情況的發生,我想它留在它的活動,還收到推送。

我知道我可以使用服務來接收它,但是Mobilefirst不允許我編輯已經在Mobilefirst sdk中定義的廣播和服務。

我該怎麼做?

回答

0

最後我得到了一些解決方案。

我創建了一個虛擬活動,結合上面提到的代碼it.`

<activity 
    android:name=".controllers.activities.DummyActivity" 
    android:launchMode="singleTask" 
    android:theme="@style/AppTheme.NoActionBar"> 


    <intent-filter> 
     <action android:name="com.mypackage.NOTIFICATION" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
</activity> 

如果我的應用程序在背景和應用得到了通知。點擊通知後,它會打開虛擬活動,我在onResume()中調用finish()方法。所以這個特殊的活動甚至在它被打開之前就會被完成,這將打開前面的活動,並且如果它是假的,我正在支付一個支票,然後重新啓動應用程序。

這不是一個直接的解決方案,但它是一個現在的工作。

相關問題