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