2012-08-23 62 views
3

我正在開發一個使用phonegap和移動jquery的應用程序。android:從後臺到前臺獲取singleTask活動

我的應用程序中有一點在後臺運行,如果事件由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的

+0

我有一個類似的問題。有沒有人找到解決方案? –

+0

你找到了解決辦法嗎? – Priyank

+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)); 
     } 
}