其他分享
首页 > 其他分享> > android-如何仅在首次创建应用小部件时显示活动性?

android-如何仅在首次创建应用小部件时显示活动性?

作者:互联网

我的应用程序小部件首次添加到主屏幕时,需要对其进行配置.我想在用户添加小部件后立即打开配置视图.

AppWidgetProvider没有onCreated事件,因此我在onUpdate事件上显示配置活动,并在SharedConfiguration中存储一个布尔值,该值指示已显示该配置.有更容易的方法吗?

解决方法:

在AppWidgetProvider XML文件中,有一个名为android:configure的属性

您可以使用它指向将应用程序拖放到主屏幕时要启动的活动.例如:

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:configure="com.bandsintown.WidgetSettingsActivity"
    android:minWidth="250dp"
    android:minHeight="110dp"
    android:minResizeWidth="180dp"
    android:minResizeHeight="110dp"
    android:resizeMode="vertical|horizontal"
    android:initialLayout="@layout/widget_layout"
    android:updatePeriodMillis="10000" />

在您选择的配置活动中,用户可以做出他们想要的任何选择.您需要获取并存储小部件的ID.在onCreate方法中,获取如下所示的ID:

Intent intent = getIntent();
Bundle extras = intent.getExtras();
if (extras != null)
    mAppWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);

当他们做出选择后,使用它可以将一条消息发送回您的主屏幕小部件,以准备显示它:

Intent intent = new Intent();
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mAppWidgetId);
setResult(RESULT_OK, intent);

finish();

那会得到你想要的.

标签:android-appwidget,android,android-service,android-activity
来源: https://codeday.me/bug/20191009/1881503.html