3

How to reuse the Tab of the Browser.apk when start it from my service? Below is my code but it does not work in ICS(tablet).

// ICS --> Even EXTRA_APPLICATION_ID is set, the browser does NOT reuse the tab.

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 --> Even EXTRA_APPLICATION_ID is NOT set it reuse the tab.

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

}

// Related to:

9221725

Community
  • 1
  • 1
quiel
  • 427
  • 1
  • 3
  • 19

1 Answers1

4

Thanks for the answer of @aimango. Here is the fix. Works for tablets(both ICS and 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);
quiel
  • 427
  • 1
  • 3
  • 19