我有一个安卓应用项目和一个小部件项目,它们都可以正常工作。现在,我想将小部件项目包含到安卓应用项目中,以便当用户安装应用程序时,小部件也会被安装。我已经按照下面的方式进行了操作,但它没有起作用。请帮忙!
在清单文件中:
<application>
............ (this is of android app project. below is of widget).......
<receiver android:name=".widget.PlayerWidgetActivity" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/playerwidgetprovider" />
</receiver>
<service android:name=".widget.PlayerWidgetActivity$UpdateService" />
<service android:name=".widget.PlayerWidgetActivity$ServiceBindUnbindService" />
</application>
编辑
:我的应用程序很大(.APK ~ 10MB),当然有许多活动,许多服务,许多广播接收器等等,所以构建需要时间。
我创建了一个非常小的新应用程序,只有一个活动,并像上面的大型应用程序一样放置了小部件的代码。它可以工作!天哪!为什么它在那个小应用程序上可以工作,但是在我的大应用程序上不行 :(
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".activity.ApplicationWithWidgetActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name=".widget.PlayerWidgetActivity"
android:icon="@drawable/ic_launcher"
android:label="@string/appwidget_name">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/playerwidgetprovider" />
</receiver>
<service android:name=".widget.PlayerWidgetActivity$UpdateService" />
<service android:name=".widget.PlayerWidgetActivity$ServiceBindUnbindService" />
</application>