Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从服务启动活动始终打开MainActivity_Android - Fatal编程技术网

Android 从服务启动活动始终打开MainActivity

Android 从服务启动活动始终打开MainActivity,android,Android,当我在收到GCM消息后启动Activity时,它会在所需Activity旁边启动MainActivity。问题是,我想将指定的活动(DialogActivity)显示为对话框样式的活动,因此其背景是透明的 以下是我开始活动的方式: @Override protected void onMessage(Context arg0, Intent arg1) { Log.d("GCM", "RECIEVED A MESSAGE"); generateNotification(arg0, arg

当我在收到GCM消息后启动Activity时,它会在所需Activity旁边启动MainActivity。问题是,我想将指定的活动(DialogActivity)显示为对话框样式的活动,因此其背景是透明的

以下是我开始活动的方式:

@Override
protected void onMessage(Context arg0, Intent arg1) {
  Log.d("GCM", "RECIEVED A MESSAGE");
  generateNotification(arg0, arg1.getStringExtra("message"));
  Intent i = new Intent();
    i.setClass(this, DialogActivity.class);
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(i); 
   }
这是styles.xml中的主题

<style name="Theme.Transparent" parent="android:Theme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>

真的
@android:彩色/透明
@空的
真的
真的
假的


因此,透明活动位于main活动之上,这是我想要避免的。它应该只显示对话框活动。有人知道帮助吗?

我已经解决了。对于未来面临此问题的任何人: 将标志\活动\多个\任务标志添加到意图

Intent i = new Intent();
i.setClass(this, DialogActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
startActivity(i); 

根据

对话框,是一个浮动窗口。。。因此,它将需要一些活动参考,它将出现在上面。。!!谢谢,我已经看到了这面旗帜,但我正在寻找它是否达到了我的预期。