2010-10-17 1 views
2

Я пытаюсь загрузить цель BROWSER VIEW в android в пределах onTouchEvent. В основном я создал живые обои, и если я нажму на него, то я хочу открыть намерение BROWSER VIEW с указанным uri.Запуск браузера в живые обои

Я попытался следующий код внутри onTouchEvent

Uri uri = Uri.parse("http://www.google.com"); 
Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
startActivity(intent); 

, но я получаю следующее сообщение об ошибке:

android.util.AndroidRuntimeException: Calling startActivity() from outside of 
an Activitycontext requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? 

Другой подход заключается в том, что у меня есть создать одну активность, так и внутри его метода onCreate я попытался следующие код:

public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 

    browser=new WebView(this); 
    setContentView(browser); 
    browser.loadUrl("http://commonsware.com"); 
} 

a й попытке загрузить эту деятельность с помощью пользовательского умысел сообщения следующим образом, но до сих пор я получаю ту же ошибку

Intent intent = new Intent(ACTION); 
startActivity(intent); 

// over here I have not used context, as while creating live wallpaper I 
// don't know here to get the context 

ответ

4

Я решил эту проблему в одиночку со следующим кодом:

Intent intent = new Intent(Intent.ACTION_VIEW);     
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
intent.setData(android.net.Uri.parse("http://www.gmail.com")); 
startActivity(intent); 
+1

Это констатировала проблема для меня, но я хотел бы понять, почему это необходимо; Android-документы, похоже, подразумевают, что должно быть возможно открыть действие браузера в текущей Задаче. Может кто-нибудь объяснить это? – Symmetric

+0

Только что получил ответ на этот вопрос: для catching exception выдается следующее сообщение: «Для вызова функции startActivity() из контекста Activity требуется флаг FLAG_ACTIVITY_NEW_TASK. Это действительно то, что вы хотите?». – Symmetric