Browser.EXTRA_APPLICATION_ID not working in ICS
Asked Answered
L

1

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

Loraineloralee answered 28/3, 2012 at 5:50 Comment(0)
L
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);
Loraineloralee answered 29/3, 2012 at 1:48 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.