Android 小部件未显示?

Posted

技术标签:

【中文标题】Android 小部件未显示?【英文标题】:Android Widget Isn't Shown? 【发布时间】:2013-10-22 12:59:01 【问题描述】:

我在现有的 android 应用中添加了一个小部件。但小部件未显示在设备上! 重启、修改等无济于事。

这是我的代码:

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="thermometer.temperature"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >


        <receiver
            android:name=".HelloWidget"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>

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

        <activity
            android:name="thermometer.temperature.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.google.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
    </application>

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

</manifest>

res->xml->hello_widget_provider.xml

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schmemas.android.com/apk/res/android"
    android:initialLayout="@layout/main"
    android:minHeight="72dip"
    android:minWidth="146dip"
    android:updatePeriodMillis="1000" />

res->layout->main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_
    android:orientation="vertical"
    android:layout_gravity="center"
    android:background="@drawable/widget_bg_normal"
     >

    <TextView 
        android:id="@+id/widget_textview"
        android:layout_
        android:layout_
        android:text="@string/widget_text"
        android:layout_gravity="center_horizontal|center"
        android:layout_marginTop="5dip"
        android:padding="10dip"
        android:textColor="@android:color/black"
        />

    </LinearLayout>

HelloWidget.java

package thermometer.temperature;

import android.appwidget.AppWidgetProvider;

public class HelloWidget extends AppWidgetProvider 


我必须在我的应用程序主要活动中添加一些思考吗?还是我想念一些东西? 非常感谢任何提示!

【问题讨论】:

【参考方案1】:

您的应用程序是否安装在 SD 卡上? 当您的应用安装在 SD 卡上或传输到 SD 卡上时,您看不到小部件(可能带有调整或肮脏的解决方案)。

【讨论】:

感谢您的回答!不 - 它不在 SD 卡上,我还没有在 Manifest.xml 中设置 SD 卡...

以上是关于Android 小部件未显示?的主要内容,如果未能解决你的问题,请参考以下文章

Android主屏幕小部件未更新

Android:BatteryLevel 小部件未更新

Android 应用小部件未更新

自定义 wordpress 小部件的设置未显示

Android 小部件:updateAppWidget() 未调用 onDataSetChanged

QWebview 未显示在小部件框上