Browser.EXTRA_APPLICATION_ID无法在ICS中使用

时间:2012-03-28 05:50:38

标签: android browser android-intent

如何从我的服务启动时重用Browser.apk的Tab?下面是我的代码,但它不适用于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,它也会重复使用标签。

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

}

//与:

相关

9221725

1 个答案:

答案 0 :(得分:4)

感谢@aimango的回答。这是修复。适用于平板电脑(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);