2012-03-28 4 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 НЕ установлен, чтобы повторно использовать вкладку.

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

ответ

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); 
Смежные вопросы