0

我在现有的 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_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_gravity="center"
    android:background="@drawable/widget_bg_normal"
     >

    <TextView 
        android:id="@+id/widget_textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        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 {

}

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

4

1 回答 1

0

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

于 2013-10-14T21:31:50.847 回答