簡體   English   中英

如何在Android小部件中添加活動按鈕

[英]How to add activity button in Android widget

這是我第一次需要為Android創建家庭小部件。

我需要在widget_layout定義按鈕以啟動一些活動,因此我創建了一個WidgetProvider類,該類擴展了AppWidgetProvider並在Home中顯示該Widget,但是我注意到沒有onCreate ,因此我沒有理解如何精確將布局xml中的按鈕與可以打開所需活動的偵聽器鏈接起來。

市場上有許多具有這種按鈕的小部件。

我應該怎么做?

在窗口小部件中,您必須使用RemoteViews而不是View ,並且沒有findViewById() ,因此也沒有setOnClickListener() 但是,您可以使用remoteViews.setOnClickPendingIntent(id, pendingIntent) 這是使用此方法打開活動的最小方法:

public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
    for (int i = 0; i < appWidgetIds.length; i++) {
        RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_layout);
        Intent appIntent = new Intent(context, MyActivity.class);
        appIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        PendingIntent appPendingIntent = PendingIntent.getActivity(context, REQUEST_CODE, appIntent, PendingIntent.FLAG_CANCEL_CURRENT);
        views.setOnClickPendingIntent(R.id.widget_button, appPendingIntent);
        appWidgetManager.updateAppWidget(appWidgetIds[i], views);
    }
    super.onUpdate(context, appWidgetManager, appWidgetIds);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM