android弹出活动用它显示MainActivity

时间:2016-07-16 11:43:53

标签: android

我用它来进行浮动活动

public class Conversation extends Activity {


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



    setUpWindow();

    setContentView(R.layout.main);


}

public void setUpWindow() {
    // Nothing here because we don't need to set up anything extra for the full app.
}
}

这是一个简单的活动现在我将通过使用此

使其浮动

制作另一个课程

public class PopupConversation extends Conversation {


@Override
public void setUpWindow() {

    // Creates the layout for the window and the look of it
    requestWindowFeature(Window.FEATURE_ACTION_BAR);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND,
            WindowManager.LayoutParams.FLAG_DIM_BEHIND);


    WindowManager.LayoutParams params = getWindow().getAttributes();
    params.alpha = 1.0f;    // lower than one makes it more transparent
    params.dimAmount = 0f;  // set it higher if you want to dim behind the window
    getWindow().setAttributes(params);


    Display display = getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    int width = size.x;
    int height = size.y;

    if (height > width) {
        getWindow().setLayout((int) (width * .9), (int) (height * .7));
    } else {
        getWindow().setLayout((int) (width * .7), (int) (height * .8));
    }
}
}
  

现在,当我启动PopupConversation类时,它必须将我的Conversation活动显示为浮动活动,这就是发生的事情

但问题是它在我的应用程序中显示或启动MainActivity 见照片

一定是这样的 正如我们看到它的浮动外部应用程序

enter image description here

现在我的代码没有在应用程序启动应用程序之外浮动并将其浮动到应用程序

enter image description here

我们看到应用程序启动并且浮动活动从它开始

这是我在清单中的活动

    <activity
        android:name=".activity.PopupConversation"
        android:theme="@style/Theme.FloatingWindow.Popup"
        android:configChanges="orientation|screenSize"
        android:windowSoftInputMode="adjustResize|stateAlwaysHidden"
        android:clearTaskOnLaunch="true"
        android:exported="true"
        tools:ignore="ExportedActivity"

        >
    </activity>

这是我的样式代码

   <style name="Theme.FloatingWindow.Popup" parent="Theme.AppCompat.NoActionBar" > 
    <item name="android:windowIsFloating">false</item>
    <item name="android:windowSoftInputMode">stateUnchanged</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowActionModeOverlay">true</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowFrame">@null</item>
    <item name="android:windowAnimationStyle">@style/PopupAnimation</item>
    <item name="android:windowCloseOnTouchOutside">true</item>
    <item name="android:backgroundDimEnabled">false</item>

</style>

我希望我的活动像第一张照片,我希望在手机中的每个地方都显示它而不是应用程序

最后我从服务开始上课这个

        Intent window = new Intent(this, PopupConversation.class);
        window.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(window);

1 个答案:

答案 0 :(得分:0)

我在启动时使用它来解决它

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

所以我只是添加     Intent.FLAG_ACTIVITY_MULTIPLE_TASK