android:从后台到前台获取singleTask活动

时间:2012-08-23 11:07:24

标签: android android-activity

我正在使用phonegap和mobile jquery开发一个应用程序。

我的应用程序中有一点在后台运行,如果从js触发事件,我想让我的应用程序进入前台。

如何让我的应用程序从后台进入前台。我有一个具有以下属性的活动:

android:configChanges="orientation|keyboardHidden|screenLayout"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="adjustPan" 
        android:launchMode="singleTask"        
        android:label="@string/app_name"
        android:theme="@android:style/Theme.NoTitleBar"

我试图让我的应用程序在前台是:

    Intent intent = new Intent(mContext , MainActivity.class);
    intent.setAction(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);
    mContext.startActivity(intent);

mContext.startActivity(((Activity)mContext).getIntent());

(MainActivity是我的应用中唯一的活动),但它不起作用。我正在使用android 4.0。

更新:在android 2.3中它的工作正常,但它不能在Android 4.0中运行

1 个答案:

答案 0 :(得分:3)

经过努力,我得到了解决方案...... 我实现了一个广播监听器。当我收到任何活动时,我发送广播并在广播接收器中启动应用程序。

Intent intent = new Intent(mContext, NotificationBroadcastReceiver.class);
        mContext.sendBroadcast(intent);

**接收者**:

public final class NotificationBroadcastReceiver  extends BroadcastReceiver {
      @Override
      public void onReceive(Context context, Intent intent) {
         System.out.println("Broadcast recieved");
         context.startActivity(new Intent(context,A.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
      }
}