1

Je veux combiner mon widget et l'un de mon application Android ..Comment connecter un widget android à mon application Android? les deux sont mes applications Android

Est-il possible de faire cela?

Mon plan est, une fois que l'utilisateur ouvre mon widget android, le widget ouvrira directement mon application android?

Y at-il moyen comment?

J'ai fait une méthode ici de ma classe widget:

public class ExampleAppWidgetProvider extends AppWidgetProvider { 

public void onUpdate(Context context, AppWidgetManager appWidgetManager, 
int[] appWidgetIds) { 
for (int i = 0; i < appWidgetIds.length; i++) { 
int appWidgetId = appWidgetIds[i]; 

Intent intent = startActivity(new Intent("com.xxx.yyy.widget.FlamingoActivity")); 
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, 
intent, 0); 

RemoteViews views = new RemoteViews(context.getPackageName(), 
R.layout.widget1); 

views.setOnClickPendingIntent(R.id.Image, pendingIntent); 
appWidgetManager.updateAppWidget(appWidgetId, views); 
} 
} 

J'ai essayé d'appeler la seconde application, FlamingoActivity, mais son échec .. :(

PAS LA SOLUTION COMPLÈTE:

je devrais changer cette ligne

Intent intent = startActivity(new Intent("com.xxx.yyy.widget.FlamingoActivity")); 

à ceci:

Intent intent = new Intent(context, FlamingoActivity.class); 

Répondre

1

Vous devez définir un onClickpendingIntent sur votre widget

Intent intent = new Intent(context, ExampleActivity.class); 
    PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); 
    // Get the layout for the App Widget and attach an on-click listener to the button 
    RemoteViews views = new 
       RemoteViews(context.getPackageName(),R.layout.appwidget_provider_layout); 
     views.setOnClickPendingIntent(R.id.button, pendingIntent); 

Et aussi Voir cette question Launching activity from widget

+0

tq @rahul pour la réponse! Vraiment apprécier, mon erreur était cette ligne intention = intention startActivity (nouvelle intention ("com.xxx.yyy.widget.FlamingoActivity")); je dois changer à ceci: intention intention = new Intent (contexte, FlamingoActivity.class); Ouais, le concept de base, j'ai raté ça .. :) merci Rahul, j'ai trouvé cette réponse du lien que tu m'as donné! : D hey ajoutez-moi sur facebook..im maintenant à la recherche de membre Android .. :) Ibtisam Zahra (photo de chat) –

0

L'activité que vous essayez d'appeler besoins être publics (exportés) dans le manifeste de son application. Il n'y a rien de spécial au démarrage d'activités à partir d'un widget, si ce n'est que vous utilisez un PendingIntent pour permettre au widget de fonctionner dans le cadre de votre application (il s'exécute dans l'application de lancement).

+0

Merci @nikolay, so..the méthode je sont corrects? –

+0

Oui. Et apparemment vous manquiez l'appel de 'setOnClickPendingIntent()' qui le déclenche réellement. –

+0

Oui, je pense à cause de cela, j'ai essayé de changer la ligne Intent que j'ai édité la solution, il est devenu erreur. Au début, l'application fonctionne bien, je peux cliquer sur le widget, un il ouvre la deuxième application qui contiennent le splashscreen .. et l'application s'arrête soudainement :( –

Questions connexes