如果活动在后台运行,则从窗口小部件恢复现有活动而不通过启动器

时间:2015-12-16 06:54:06

标签: android android-intent android-activity android-widget

我的应用程序有一个小部件。此应用程序有两个活动:启动器和主要启动器。

点击这个小部件,它会打开链接的应用程序,但是现在我打开启动器,然后我从其启动器活动开始我的主要活动,即使它已经在后台运行。

是否可以在点击时检查主要活动是否已经在后台运行,如果是,则恢复它;或以其他方式打开发射器?

我现在正在使用代码从小部件打开启动器。

    //LISTENER TO OPEN THE APP ON CLICK
    Intent clickIntent = new Intent(context, SplashScreen.class);
    PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, clickIntent, 0);
    // Get the layout for the App Widget and attach an on-click listener to the button
    views.setOnClickPendingIntent(R.id.widgetstationlayout, pendingIntent);

1 个答案:

答案 0 :(得分:2)

要将应用程序置于前台,无论处于何种状态,请使用:

Intent intent = getPackageManager().
    getLaunchIntentForPackage("your.package.name");
startActivity(intent);

如果您的应用程序已在运行,则会将现有任务置于其前移到后台时的状态。如果您的应用未运行,则会从头开始启动您的应用。

这就好像您点击了应用图标一样。