J'ai une fenêtre d'activité principale dans mon application, qui affiche trois icônes sur elle, il y a aussi 3 widgets d'écran d'accueil dans cette application. Est-il possible d'appuyer longuement sur l'une des icônes de l'activité principale pour faire le même comportement que lorsque vous installez les raccourcis du programme depuis le menu de l'application lorsque vous faites glisser des raccourcis sur le bureau (par exemple, cette vidéo: http://www.youtube.com/watch?v=DQ37cASti4k) ou l'utilisateur d'avoir à aller à l'écran d'accueil \ menu \ add \ widget ??Installer widgets d'écran d'accueil progrommaticly
0
A
Répondre
4
L'utilisateur devra installer manuellement le widget de l'application. Puisque les widgets doivent être positionnés - et donc les utilisateurs n'ont pas de widgets d'applications forcés sur eux - les utilisateurs doivent choisir de les ajouter à leur écran d'accueil.
0
Dans Android O, il est possible de définir un widget d'application par programme.
AppWidgetManager mAppWidgetManager =
context.getSystemService(AppWidgetManager.class);
AppWidgetProviderInfo myWidgetProviderInfo = new AppWidgetProviderInfo();
ComponentName myProvider = myWidgetProviderInfo.provider;
if (mAppWidgetManager.isRequestPinAppWidgetSupported()) {
// Create the PendingIntent object only if your app needs to be notified
// that the user allowed the widget to be pinned. Note that, if the pinning
// operation fails, your app isn't notified.
Intent pinnedWidgetCallbackIntent = new Intent(...);
// Configure the intent so that your app's broadcast receiver gets
// the callback successfully. This callback receives the ID of the
// newly-pinned widget (EXTRA_APPWIDGET_ID).
PendingIntent successCallback = PendingIntent.createBroadcast(context, 0,
pinnedWidgetCallbackIntent);
mAppWidgetManager.requestPinAppWidget(myProvider, null,
successCallback.getIntentSender());
}
Consultez également officiel de Google documentation
Mais comment pouvez-vous fournir eux avec une option pour faire glisser un widget de votre application à l'écran d'accueil? –
@AdamArold: AFAIK, ce n'est pas possible, désolé. L'écran d'accueil est le seul qui peut initier ce type d'opération. – CommonsWare