Tôi đã được sau nhiều Widget Tutorials như this one và this oneOnUpdate KHÔNG BAO GIỜ gọi - Android Widget
Tôi đã cố gắng thích nghi với mã của họ để mục đích của tôi, và tôi đã cố gắng thẳng lên bản sao dán. Dường như không có vấn đề gì tôi làm, widget KHÔNG BAO GIỜ của tôi được cập nhật. Khi nó được đặt trên màn hình chủ, văn bản vẫn là Văn bản tĩnh được tạo ra. Tất cả những gì tôi cần ứng dụng này cần làm là cập nhật 4 TextViews sẽ được chứa trong bố cục.
Mã bên dưới chủ yếu được sao chép từ một trong các hướng dẫn. Tôi đã thử gỡ lỗi các phương pháp onUpdate, tuy nhiên điểm break dường như không bao giờ được nhấn.
Mọi trợ giúp sẽ được đánh giá cao.
EDIT: Tôi hoàn nguyên về phiên bản đơn giản hơn của tiện ích này mà tôi đã thử trước đó trong nỗ lực của mình và thay thế mã bên dưới bằng mã cho tiện ích đơn giản hơn. Tôi đã thực hiện các thay đổi được đề xuất bởi CommonsWare đối với tệp kê khai của tôi. Thật không may vấn đề vẫn còn.
tập tin java chính của tôi trông giống như vậy:
public class NetStatWidget extends AppWidgetProvider
{
public void onUpdate(Context context, AppWidgetManager manager, int[] appWidgetIds)
{
ComponentName thisWidget = new ComponentName(context, NetStatWidget.class);
int[] widgetId = manager.getAppWidgetIds(thisWidget);
RemoteViews remoteView = new RemoteViews(context.getPackageName(), R.layout.appwidget);
remoteView.setTextViewText(R.id.textView0, "Hello");
manager.updateAppWidget(widgetId, remoteView);
}
}
My Manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.stat"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<receiver android:name="NetStatWidget" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/providerinfo" />
</receiver>
</application>
</manifest>
Và Provider Widget của tôi Thông tin:
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider
xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/main"
android:minWidth="146dip"
android:minHeight="72dip"
android:updatePeriodMillis="10000">
Tôi đã thay đổi tệp kê khai theo đề xuất của bạn và vẫn gặp sự cố tương tự ...Tôi trở lại với một widget đơn giản hơn, tôi đã cố gắng vào đầu những nỗ lực của mình, thực hiện cùng một thay đổi và nó cũng có cùng một vấn đề. Tôi đã chỉnh sửa mã ở trên phản ánh mã đơn giản hơn. Bạn có thấy cùng một vấn đề không? – Jodron
@Jodron: Không, những gì bạn có ở đó sẽ hoạt động trên Android 3.0 trở xuống. Android 3.1 trở lên, bạn cần có hoạt động để đi với tiện ích ứng dụng của mình - tiện ích ứng dụng của bạn sẽ không nhận được chương trình phát sóng cho đến khi người dùng điều hành hoạt động. Thư mục này chứa hai mẫu widget ứng dụng khác, cả hai đều hoạt động: https://github.com/commonsguy/cw-advandroid/tree/master/AppWidget – CommonsWare
Điều đó thật lạ. Im chạy nó trên 2,3, và nó vẫn sẽ không cập nhật văn bản. Tôi có sai khi nghĩ rằng ngay sau khi widget được đặt "textView0" nên đọc "Hello"? Cảm ơn các ví dụ, Ill xem xét các ví dụ đó và xem tôi có thể hình dung ra được không. Tôi nghĩ rằng tôi có thể ở trên đầu của tôi và chỉ nên làm cho nó một ứng dụng thường xuyên. – Jodron