1

プッシュ通知を受け取るBroadcastReceiverがある 私はアクティビティを開始し、通知を表示します。 (ユーザーが通知を処理したときにアクティビティが開始されないことに注意してください)moveTaskToBack onCreateにより、アクティビティが短時間表示されて非表示になる

私は「バックグラウンドモード」でアクティビティを開始し、通知に応答したときにアクティビティを前面に持ってきます。

アクティビティが簡単に表示され、次に がすぐに非表示になる以外は、すべて完全に動作しています。 (1秒間の活動の点滅)。ここで

は私のコードです:

BroadcastReceiver... 
     Intent intent = new Intent(context, MainActivity.class); 
     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     intent.putExtra("BACKGROUND",true); 
     context.startActivity(intent); 


MainActivity..... 
@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     if (getIntent().getBooleanExtra("BACKGROUND",false)) { 
      moveTaskToBack(true); 
     } else { 

     } 
+0

私はonCreateの残りの部分から疑いがあります。投稿できますか? – ozo

+0

setTheme(android.R.style.Theme_NoDisplay);どちらの効果もありません。 – Wayne

答えて

2

は同じ問題を抱えていました。あなたのテーマにandroid:windowDisablePreview属性を追加して解決しました。あなたのres/values/styles.xmlで例えば

、:

<resources> 

    <!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
     <!-- Customize your theme here. --> 
     <item name="android:windowDisablePreview">true</item> 
    </style> 

</resources> 

プログラム的にかかわらず、それを追加するにはどのような方法があるかどうかわかりません。

+0

は完璧に動作します、ありがとう@ianyuhsunlin – zxcpoiu

+0

これはすばらしい解決策です。 – jaaaawn