我想能夠點擊一個小部件並啓動一個對話框。我已閱讀官方文件作爲一些非官方文件。我最初想開展一項新的活動,但即使這樣做也失敗了。我在Logcat中看到以下內容,但我真的看不到任何東西。Android小工具onClick
11-14 21:28:47.929: INFO/ActivityManager(116): Starting: Intent { flg=0x10000000 cmp=com.android.app/.Execute bnds=[179,89][300,160] } from pid -1
我想上面的意思是意圖通過了...但是這個活動其實並沒有開始。活動是否應該開始正常?
使用的代碼是:
public class ExampleAppWidgetProvider extends AppWidgetProvider {
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
final int N = appWidgetIds.length;
// Perform this loop procedure for each App Widget that belongs to this provider
for (int i=0; i<N; i++) {
int appWidgetId = appWidgetIds[i];
// Create an Intent to launch ExampleActivity
Intent intent = new Intent(context, ExampleActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
// Get the layout for the App Widget and attach an on-click listener
// to the button
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.appwidget_provider_layout);
views.setOnClickPendingIntent(R.id.button, pendingIntent);
// Tell the AppWidgetManager to perform an update on the current app widget
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
}
有什麼想法?
任何這運氣?我也在觀察它。我也看到了這一點 - 當我嘗試通過從我的應用程序中放入的通知發起活動時。 我想它與進程ID顯示爲-1 通常,當通過意圖啓動一些其他活動時,進程ID不是-1,而是由OS分配的一些不同的數字。 –
My問題已被解決.. pid是-1與它無關..我的實際問題是我的代碼中有一個錯字。而不是鍵入爲「XYZActivity」,我寫了「XYZACtivity」(請注意大寫字母C),因爲它被指定爲一個字符串,所以Android沒有拋出任何錯誤。也許在你的情況中也有類似的東西? –
那麼,-1是什麼?你的意思是你想開始的活動拼錯了嗎?我沒有看到任何拼寫錯誤。如何在小部件點擊上啓動活動來處理意圖?或者這是不相關的? – JustCurious