0

我正在開發帶MFP集成的android本機應用程序。 我已實施MFP推送通知,它工作正常。我收到通知。但是當我點擊通知我的應用程序重新啓動。IBM Mobilefirst:當我點擊通知時,應用程序重新啓動

實際的問題是我的應用程序啓動時啓動了一個閃屏活動,並且正在初始化我的所有MFP內容並殺死此應用程序登錄活動的活動。

而在我的清單文件中,我正在定義我的接收器如下。

<activity 
      android:name="SplashActivity" 
      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.app_name.NOTIFICATION" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
     </activity> 

接收器是在我的飛濺活動中定義的,但我正在完成此活動並正在登錄活動,然後從登錄到其他活動。現在,每次啓動應用程序時,只會調用一次splash活動。

因爲這個原因當我點擊通知時,它會殺死其他活動並再次啓動splash活動,因爲它被要求只在飛濺活動中接收。

所以有些人可以告訴我如何設計我的應用程序,以便我可以在應用程序的任何活動時收到通知(它不應該啓動飛濺活動,而應該是在相同的活動上應用程序打開,並調用onrecieve消息方法)。

請建議。

我已經問過類似類型的問題,但可以找到問題,所以我發佈這個問題與實際問題尋求解決方案。 Mobilefirst PushNotification: On using wl_anonymousUserRealm at server, app is not calling onReceive method on clicking notification

回答

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()方法。所以這個特殊的活動甚至在它被打開之前就會被完成,這將打開前面的活動,並且如果它是假的,我正在支付一個支票,然後重新啓動應用程序。

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

1

Setting up a GCM client in AndroidReceiving downstream messages是您將爲您的方案尋找的很好的參考。

您必須定義接收消息所需的GCM接收器和服務。這將極大地幫助您接收任何Activity中的消息(因爲Service不需要任何UI,並且BroadcastReceiver將幫助CPU喚醒,因此偵聽器服務將完成其任務)。

希望這會有所幫助!

+0

感謝您的回覆。但我想了解如何使用Mobilefirst SDK。如果你有一些想法,可以在Mobilefirst方面幫助我... – Bender

相關問題