相关疑难解决方法(0)

Android 4.0:小部件没有出现?

我有一个针对Android 2.1创建的小部件,它在市场上销售很好.

我有一个用户抱怨他买了它,它从未出现在他的Android 4.0设备上.

我加载了4.0模拟器,从Eclipse运行它,它报告了一个成功的安装,事实上我可以看到它列在"小部件预览"应用程序中,我可以在那里运行它看起来很好,但它没有显示在"Widgets"下的任何地方 - 我实际上找不到它将它拖到主屏幕!我认为这与用户看到的一样.

知道这里发生了什么吗?为什么它在2.1中没问题,但即使在成功安装后也没有出现在4.0的列表中?

这是我的layout\widget.xml文件,如果有任何帮助:

<RelativeLayout android:id="@+id/relativeLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
    <TextView android:layout_width="wrap_content" android:id="@+id/blankspot" android:layout_height="5dp" android:gravity="center" android:shadowDy="1" android:shadowDx="1" android:layout_centerHorizontal="true"></TextView> 
    <ImageButton android:layout_below="@+id/blankspot" android:layout_width="60dp" android:layout_height="60dp" android:id="@+id/widgetIconButton" android:layout_centerHorizontal="true" android:scaleType="centerCrop" android:src="@drawable/volumeprofilesplus" android:background="@null"></ImageButton>
    <ImageView android:layout_width="60dp" android:layout_height="20dp" android:id="@+id/override" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:scaleType="fitXY" android:background="@null" android:src="@drawable/overredcaps" android:visibility="invisible"></ImageView>
    <ImageButton android:layout_below="@+id/widgetIconButton" android:layout_width="70dp" android:layout_height="30dp" android:id="@+id/widgetSettingsButton" android:layout_centerHorizontal="true" android:scaleType="fitXY" android:src="@drawable/settings" android:background="@null"></ImageButton>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

和xml\widget_provider.xml:

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:minWidth="72dip"
    android:minHeight="72dip"
    android:updatePeriodMillis="0"
    android:initialLayout="@layout/main" >    
</appwidget-provider>
Run Code Online (Sandbox Code Playgroud)

android widget android-4.0-ice-cream-sandwich

27
推荐指数
2
解决办法
2万
查看次数

App Widget未显示在ICS app抽屉中

有没有人经历过他们的app小部件未被列入ICS应用程序抽屉?

最初我开始使用FroYo及以下版本的应用程序,它支持app小部件就好了.随之而来的是Gingerbread和Honeycomb,这些也是如此.

如果我打开"小部件预览"应用程序,小部件将出现在模拟器的列表中,但是当您打开抽屉时,它不会与其他小部件一起列出.它确实出现在Honeycomb上.我不(也有其他人也没有)在我的Galaxy Nexus上看到它.

我尝试重新启动,因为我已经看到在初始安装后解决了一些人的问题.我也有一个主要的活动与action.MAIN/category.LAUNCHER意图过滤器,因为我有应用程序活动,这不是一个仅限小部件的项目类型.

我将在下面发布一些片段,如果需要更多,请告诉我.我的minSdkVersion为7,targetSdkVersion为15,项目属性的目标也是4.0.3.installLocation属性设置为auto.

AndroidManifest.xml中:

<receiver android:name=".AppWidget" android:label="@string/one_cell_widget_label">
    <intent-filter>
        <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
    </intent-filter>
    <intent-filter>
        <action android:name="com.frankcalise.h2droid.FORCE_WIDGET_UPDATE" />
    </intent-filter>
    <meta-data
        android:name="android.appwidget.provider"
        android:resource="@xml/one_cell_widget_settings" />
</receiver>
Run Code Online (Sandbox Code Playgroud)

one_cell_widget_settings.xml:

<appwidget-provider
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:initialLayout="@layout/one_cell_widget"
    android:minWidth="@dimen/one_cell_widget"
    android:maxHeight="@dimen/one_cell_widget"
    android:updatePeriodMillis="0" >
</appwidget-provider>
Run Code Online (Sandbox Code Playgroud)

one_cell_widget.xml:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/widget_background"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="@dimen/widget_margin"
    android:background="@drawable/widget_background">
    <TextView
        android:id="@+id/widget_title_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/app_name"
        android:textColor="@android:color/black" />
    <TextView
        android:id="@+id/widget_amount_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/default_widget_amount"
        android:textSize="12sp"
        android:textColor="@color/amount_color" />
    <TextView
        android:id="@+id/widget_percent_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/default_widget_percent" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

然后显然我在AppWidget.java中实现了这个类

public class AppWidget extends AppWidgetProvider
Run Code Online (Sandbox Code Playgroud)

更新:

我今天早些时候发现的一条重要的logcat消息帮助我解决了这个问题:

06-01 14:41:31.606: E/AppsCustomizePagedView(199): Widget ComponentInfo{com.frankcalise.h2droid/com.frankcalise.h2droid.AppWidget} has invalid …
Run Code Online (Sandbox Code Playgroud)

android android-4.0-ice-cream-sandwich android-appwidget

4
推荐指数
1
解决办法
1752
查看次数