2013-10-14 60 views
0

我在现有的android应用中添加了一个小部件。但小部件没有显示在设备上! 重新启动,修改等没有帮助。Android Widget没有显示?

这里是我的代码:

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> 

水库 - > 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" /> 

水库 - >布局 - > 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 { 

} 

我必须在我的应用程序的主要活动添加somethink?或者我想念一些思想? 非常感谢任何提示!

回答

0

您的应用程序是否安装在SD卡上? 当您的应用程序安装在SD卡上或转移到其上时,您无法看到小部件(可能是通过调整或肮脏的解决方案)。

+0

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