gpt4 book ai didi

android - 如何在小部件配置 Activity 中获取小部件名称(提供者)?

转载 作者:太空狗 更新时间:2023-10-29 13:49:52 25 4
gpt4 key购买 nike

我有小部件和大部件,它们都是通过相同的 WidgetConfigActivity 配置的。 AndroidManifest 摘录:

    <receiver
android:name=".SmallWidgetProvider"
android:icon="@drawable/small_widget_icon"
android:label="@string/small_widget">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>

<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/widget_small_info" />
</receiver>

<receiver
android:name=".BigWidgetProvider"
android:icon="@drawable/big_widget_icon"
android:label="@string/big_widget">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>

<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/widget_big_info" />
</receiver>

widget_small_info.xml:

<appwidget-provider
xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/widget_small_layout"
android:minHeight="40dp"
android:minWidth="40dp"
android:previewImage="@drawable/widget_small_preview"
android:updatePeriodMillis="1200000"
android:configure="com.a.b.WidgetConfigActivity">

</appwidget-provider>

我知道如何获取小部件的 ID,但这并没有告诉我它是什么类型的小部件:

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

如何区分 WidgetConfigActivity 中的小部件和大部件?我想我应该检查 provider (文档:此字段对应于 AndroidManifest.xml 文件中元素中的 android:name 属性。)与

AppWidgetManager.EXTRA_APPWIDGET_PROVIDER

但这不在额外内容中。

最佳答案

AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
AppWidgetProviderInfo providerInfo = appWidgetManager.getAppWidgetInfo(mAppWidgetId);

this answer 找到这个.

关于android - 如何在小部件配置 Activity 中获取小部件名称(提供者)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49537948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com