2010-10-17 4 views
2

Je suis en train de charger l'intention BROWSER VIEW dans android onTouchEvent. Fondamentalement, j'ai créé un fond d'écran en direct et si je clique dessus, je veux ouvrir l'intention BROWSER VIEW avec un uri spécifié.lancer l'intention du navigateur en live wallpaper

J'ai essayé le code suivant à l'intérieur onTouchEvent

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

mais je reçois l'erreur suivante:

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

Une autre approche est que je créer une activité et à l'intérieur de sa méthode onCreate j'ai essayé la suite code:

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

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

a nd a essayé de charger cette activité via un message intention sur mesure comme suit, mais je me fais la même erreur

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 

Répondre

4

J'ai résolu le problème moi-même avec le code suivant:

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

Ce fixe la problème pour moi, mais je voudrais comprendre pourquoi cela est nécessaire; les docs Android semblent impliquer qu'il devrait être possible d'ouvrir l'activité du navigateur dans la tâche en cours. Quelqu'un peut-il expliquer cela? – Symmetric

+0

Vous avez juste une réponse à cette question - attraper l'exception donne le message suivant: "Appeler startActivity() depuis l'extérieur d'un contexte d'activité nécessite le flag FLAG_ACTIVITY_NEW_TASK, est-ce vraiment ce que vous voulez?". – Symmetric

Questions connexes