問題タブ [remoteview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
376 参照

android - 連絡先のサムネイルをウィジェットのイメージビューに設定する

連絡先のサムネイルでウィジェットの画像ビューを設定しようとしていました。アクティビティの画像ビューを試していて、サムネイルを取得できましたが、RemoteViews の setImageViewUri で同じものを取得しようとすると、ウィジェットの画像ビューが更新されません。以下にコード スニペットを投稿しました。

このコードは正常に動作しています。

このコードは機能していません.setImageViewUriとsetImageViewResourceの両方がウィジェットのimageviewを更新していません.何か考えはありますか? 助けてください。ありがとう、ジェヤンティ

0 投票する
5 に答える
2498 参照

android - アプリ ウィジェットの GridView で画像の縦横比を保持する

私はいくつかのアプリケーション ウィジェットを持つアプリケーションに取り組んでおり、そのうちのいくつかは を使用しGridViewてコンテンツを表示しています。コンテンツは映画のカバー アート画像の束であり、画像の元の縦横比を維持したいと考えています。

または、画像の縦横比を宣言する方法を探しています。GridViewただし、ユーザーがアプリ ウィジェットのサイズを変更した場合でも、画像が の幅に収まるようにすることが重要です。

ImageViewsを扱うときにの サブクラスを使用することはできないため、それRemoteViewは論外です。私は現在、高さと幅を定義したScaleType.CENTER_CROP上で使用していますが、ご想像のとおり、それは完璧ではありません。ImageView

助言がありますか?

0 投票する
2 に答える
6036 参照

android - ウィジェット onClick の Android ListView が機能しない

メソッドを使用して ListView ウィジェットのリスト行をクリック可能にしようとしていsetOnClickFillInIntentますが、ListItem をクリックしても何も起こりません。ここに私のコードのいくつかの重要な部分があります:

これはgetView()、ViewFactory の最後にあります。Resource.WIDGET_PACKAGE にはパッケージ名が含まれており、他のキーと同じです。位置 int はgetView()パラメーターからのものです。R.id.widget_layout_parentすべてのリスト項目の親レイアウトです。

これが私の WidgetProviders の終わりですonUpdate()

私が見逃していることはありますか、それとも他に知りたいことはありますか?

すべての助けに感謝します!:)

0 投票する
2 に答える
15129 参照

android - Androidでアプリウィジェットの画像をプログラムで変更する方法

私は、画像をクリックしたときとメソッドを呼び出したときにImageView両方の画像を変更したいAndroidアプリウィジェットを設計しています。ImageView今、私はRemoteView このように使用します

imageView しかし、おかげで画像を変更する方法がわかりません。

0 投票する
1 に答える
6308 参照

android - カスタムListAdapterをappwidgetのリストビューに設定するには?

私はリストビューを持っています。リスト項目ごとにカスタム ビューが必要だったので、以下に示すレイアウトのビューを提供するカスタム ListAdapter を作成しました。しかし、この listAdapter を RemoteViews を使用してウィジェットの ListView に設定するにはどうすればよいですか?

0 投票する
1 に答える
925 参照

android - アプリ ウィジェットの更新に関する問題: Binder トランザクションの失敗、RemoteViews、setImageURI、向きの変更

AppWidgets の更新に問題があり、Android の制限/バグの合流により、回避策を見つけることができません。

私のアプリ ウィジェットはテーマに対応しているため、実行時にイメージビューを更新できる必要があります (テキストビューとインテントも同様です)。更新中のイメージビューは最大 9 つですが、使用しているグラフィックのサイズはかなり控えめです (最大 11kb の png)。RemoteViews オブジェクトを介してプッシュするデータの合計サイズは、1 MB の制限内で 100 KB 未満にする必要があります。画面上の実際のドローアブル リソースは元の png よりもサイズが大きくなると思いますが、それを説明するには制限の 10% が妥当なようです。ただし、特定の電話とランチャーでは、「FAILED BINDER TRANSACTION」エラーが発生します。

これに対して私が見つけた2つの解決策があります:

1) RemoteViews オブジェクトで setImageViewResource の代わりに setImageViewUri (setImageURI を呼び出す) を使用します。これにより、RemoteViews オブジェクトを介してドローアブルを送信する必要がなくなり、代わりに URI から画像が読み込まれます。メモリ エラーを解決します ( https://groups.google.com/forum/#!topic/android-developers/KKEyW6XdDvg/discussionを参照) 。

2) アプリ ウィジェットの更新を複数の RemoteViews 呼び出しに分割します。そのため、3 つの画像を更新し、updateAppWidget を呼び出し、新しい RemoteViews オブジェクトを作成し、次の 3 つの画像を更新し、updateAppWidget を呼び出します。

最初のアプローチの問題は、中密度デバイスでしか機能しないことです。他のすべてのデバイスでは、Android コードベースのバグにより、画像が正しくスケーリングされません (バグ レポートを参照してください: http://code.google.com/p/android/issues/detail?id=22590 ) 。

2 番目のアプローチの問題は、画面の向きが変わると、Android が秘密の場所に保存した最後の RemoteViews 呼び出しを使用してウィジェット ビューを破棄して再作成することです。これは、RemoteView 呼び出しを分割してウィジェットが使用できなくなるため、appwidget が完全に再描画されないことを意味します。Android がいつ appwidgets を破棄して再作成するかを把握する信頼できる方法はないようです。サービスの onConfigurationChanged が常に起動するとは限らず、アクティビティ レベルの呼び出し (つまり、onUpdate、onReceive) が行われることはありません。方向の変更時にウィジェットを完全かつ正確に再描画できるようにするために、RemoteViews (updateAppWidget) 呼び出しを 1 つしか使用できないため、このソリューションは機能しません。

これを回避する方法を知っている人はいますか? スケーリングが正しく行われるように、(カスタム ImageView クラスで) バグのない setImageURI 関数を呼び出す独自の RemoteViews を実装できるかどうか疑問に思っています。いくつかのウィジェットを更新するだけで多くの作業が必要なようですが、Android で RemoteViews/ImageView をそのように拡張できるかどうかはわかりません。

画面の向きが変わったときにアンドロイドを傍受し、ウィジェット全体を強制的に再描画する方法はありますか?

他の提案や回避策のアイデアを聞きたいです! ありがとう。

0 投票する
2 に答える
6265 参照

android - AndroidウィジェットのリモートビューのURLからのsetImageViewUri

リモートビューでURLから画像を設定しようとしています。これが私が使用するコードです:

そしてレイアウトのコード:

ウィジェットが起動しますが、imageViewに画像が印刷されていません。

0 投票する
1 に答える
3291 参照

android - android.app.RemoteServiceExceptionの取得:カスタム通知のパッケージから投稿された不正な通知

リモートビューを使用してカスタム通知を作成しようとしています。

実行手順:
1。レイアウトを作成し、res /layoutフォルダーに配置しまし
た。2。RemoteViewsクラスを拡張し、いくつかのヘルパーメソッドを実装しました。
3. Extendedクラスのオブジェクトをインスタンス化し、Notification.BuilderでsetContent()を使用してこれをContentとして提供しています。
4.インスタンス化されたExtendedクラスをキャッシュしました。

これで、ほとんどの場合、拡張クラスオブジェクトをNotification.Builderに提供する前でも操作を実行すると、クラッシュします。

以下の機能を試しました

リモートビューで関数を呼び出す方法を教えてください。

Androidのソースコードに@android.view.RemotableViewMethodタグが付いている関数をたくさん試しました。

0 投票する
1 に答える
141 参照

android - Android アプリ ウィジェットのレイアウトが RemoteViews に基づいているのはなぜですか?

主題として。RemoteViews の代わりに、アプリ ウィジェットのレイアウトを実際のレイアウトに基づいてできないのはなぜですか?

アプリ ウィジェットの実際のレイアウトを更新するプロセスと、AppWidgetProvider が実行されているプロセスが異なるためでしょうか。

0 投票する
1 に答える
232 参照

android - Android でリモート レイアウトの背景ドローアブルを変更する

描画可能な背景を持つウィジェット レイアウトがあります。

@drawable/basic_widget_style_22 つの形状のレイヤー リストです。

また、リアルタイムの微調整のためにウィジェットのプレビューを表示する構成アクティビティもあります。

@drawable/basic_widget_style_2構成アクティビティをプログラムで微調整し、リアルタイムの結果を で確認しようとしています@+id/preview_include

私の構成アクティビティには、私を起動した特定の appWidgetId があるので、私の質問は、@drawable/basic_widget_style_2私のアクティビティを起動したウィジェットに属する を取得する方法はありますか?

さらに、<include>-ed レイアウト バックグラウンド ドローアブルを無効にするにはどうすればよいですか? 私が何をしても、レイアウトは静的なままのようです(invalidate()、refreshDrawable()、および私が見たその他のトリックを使用してみました)。