相关疑难解决方法(0)

意图 - 如果活动正在运行,请将其置于最前面,否则启动一个新的(来自通知)

我的应用程序有通知,这是 - 很明显 - 没有任何标志,每次启动一个新的活动,所以我得到对方的顶部,这是错误的运行多个同样的活动.

我想要它做的是将通知挂起意图中指定的活动带到前面(如果它已在运行),否则启动它.

到目前为止,我所拥有的通知的意图/待定意图是

private static PendingIntent prepareIntent(Context context) {
    Intent intent = new Intent(context, MainActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);

    return PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
}
Run Code Online (Sandbox Code Playgroud)

奇怪的是,它有时会起作用,有时它不会......我觉得我已经尝试了每一个标志组合.

android android-intent android-activity android-pendingintent

122
推荐指数
5
解决办法
7万
查看次数

用户点击主页按钮后将应用程序带到前面

我的应用程序处于运行模式[前景],用户点击主页按钮,这将应用程序置于后台[并仍在运行].我的应用程序中有警报功能,它会启动.我想要的是当我的闹钟响起时,我希望将我的后台运行应用程序放在前台并从最后状态开始.

    <application
            android:name="nl.ziggo.android.state.management.MainEPGApp"
            android:icon="@drawable/icon"
            android:label="@string/app_name"
            android:largeHeap="true"
            android:logo="@drawable/app_logo" >
            <activity
                android:name=".SplashScreen"
                android:label="@string/app_name"
                android:launchMode="singleTop"
                android:screenOrientation="nosensor"
                android:theme="@style/Theme.Sherlock" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        <activity
                    android:name=".Starter"
                    android:configChanges="orientation|screenSize"
                    android:screenOrientation="behind"
                    android:launchMode="singleTop"
                    android:uiOptions="none"
                    android:windowSoftInputMode="adjustPan" />
</application>
Run Code Online (Sandbox Code Playgroud)

android

20
推荐指数
5
解决办法
4万
查看次数