2

ウィジェットアイコンをクリックするとアクティビティを開始します。そのウィジェットの位置をそのアクティビティに送信したいのですが、試しました。

        Intent intent=new Intent(context, WidgetActivity.class);
        Bundle bundle = new Bundle();
        bundle.putString("rect", bound);  
        intent.putExtras(bundle);

        //intent.putExtra("rect", bound.toString());
        PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,intent, 0);
        RemoteViews views = new RemoteViews(context.getPackageName(),R.layout.pic1);

        views.setOnClickPendingIntent(R.id.wbutton1, pendingIntent);

        appWidgetManager.updateAppWidget(appWidgetId, views);

私のonUpdateプロシージャで。しかし、これはアクティビティをクラッシュさせます。intent.getsourceBounds()onReceive rytを使用して位置が返されると聞きました。これは、グローバル変数をバインドしようとしました。onReceiveから値を設定してbound=intent.getsourceBounds();も機能しませんでした。

だから私の質問は1です。onUpdateでウィジェットの位置を取得するにはどうすればよいintent.getsourceBounds()ですか?2.どうすればアクティビティに送信できますか?

お時間をいただきありがとうございます。

edit:iは、ウィジェットから次のようなアクティビティに文字列を送信することができました。

        Intent intent=new Intent(context, WidgetActivity.class);
        Bundle bundle = new Bundle();
        bundle.putString("pos", "hello");
        intent.putExtras(bundle);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        PendingIntent pendingIntent = PendingIntent.getActivity(context,0,intent,PendingIntent.FLAG_CANCEL_CURRENT);

編集2:私はhttps://stackoverflow.com/a/5324918/1685829を見つけました。これはgetSourceBounds()を使用して実行できると言っています。onUpdateでそれを使用する方法を誰かが説明できますか。

4

1 に答える 1

1

送信する必要はありません。Android がそれを行います。getSourceBounds()アクティビティ内からのみ使用できます。この情報は では利用できませんonUpdate()

于 2013-12-24T13:01:21.850 に答える