3

我正在使用 phonegap 和移动 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 是我的应用程序中唯一的活动)但它不起作用。我正在使用安卓 4.0。

更新:在 android 2.3 中工作正常,但在 android 4.0 中不工作

4

1 回答 1

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));
      }
}
于 2012-10-22T06:22:58.707 回答