2012-08-23 5 views
3

phonegap 및 mobile 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가에서 유일하게 활동 내 응용 프로그램)하지만 ​​작동하지 않습니다. 나는 안드로이드 4.0을 사용하고있다.

업데이트 : 안드로이드 2.3에서 자사가 잘 작동하지만 나는 내가 방송 수신기를 구현하는 솔루션 ... 을있어 노력

+0

나는 비슷한 문제가 있습니다. 누구든지 이것에 대한 해결책을 찾았습니까? –

+0

해결책을 찾았습니까? – Priyank

+0

나는 해결책을 게시했습니다 ... pls –

답변

3

안드로이드 4.0에서 작동하지 않습니다. 어떤 이벤트가 수신되면, 나는 브로드 캐스트를 보내고 브로드 캐스트 리시버에서는 앱을 시작합니다.

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)); 
     } 
} 
관련 문제