2012-03-28 3 views
3

내 서비스에서 Browser.apk 탭을 다시 시작할 때 어떻게 사용합니까? 아래는 내 코드이지만 ICS (태블릿)에서는 작동하지 않습니다.Browser.EXTRA_APPLICATION_ID이 (가) ICS에서 작동하지 않습니다.

// ICS -> 심지어 EXTRA_APPLICATION_ID가 설정되어 있어도 브라우저는 탭을 다시 사용하지 않습니다.

public class MyService extends IntentService { 
    .... 
    mBrowserIntent = new Intent(Intent.ACTION_VIEW); 
    mBrowserIntent.setFlags(Intent.FLAG_FROM_BACKGROUND | 
     Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK); 
    mBrowserIntent.putExtra(Browser.EXTRA_APPLICATION_ID , this.getPackageName()); 
    mBrowserIntent.setData(page.getAddress()); 
    startActivity(mBrowserIntent); 

} 

// HC -> EXTRA_APPLICATION_ID도 설정하지 않으면 탭을 다시 사용합니다. @aimango의 답변

9221725

답변

4

감사 :

public class MyService extends IntentService { 
    .... 
    mBrowserIntent = new Intent(Intent.ACTION_VIEW); 
    mBrowserIntent.setFlags(Intent.FLAG_FROM_BACKGROUND | 
     Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK); 
    mBrowserIntent.setData(page.getAddress()); 
    startActivity(mBrowserIntent); 

} 

//

는 관련. 수정 사항이 있습니다. 태블릿 (ICS 및 HC 모두)에서 작동합니다.

mBrowserIntent = new Intent(Intent.ACTION_VIEW); 
    mBrowserIntent.setPackage("com.android.browser"); 
    mBrowserIntent.setFlags(Intent.FLAG_FROM_BACKGROUND | Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK); 
    mBrowserIntent.putExtra(Browser.EXTRA_APPLICATION_ID , "com.android.browser"); 
    mBrowserIntent.setData(page.getAddress()); 
    startActivity(mBrowserIntent); 
관련 문제