問題タブ [appwidgetprovider]
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.
android - AndroidappWidgetProvideronEnabledがタブレットで呼び出されることはありません
シナリオ1:
- デバイスがロードされます
- 最初のウィジェットを追加します
- OneX- >呼び出しonEnabled| GalaxyTab- >はonEnabledを呼び出しません。
シナリオ2:
- デバイスは、ウィジェットがすでに画面に表示された状態で起動されます。
- OneX- >呼び出しonEnabled| Galaxyタブ->CallsonEnabled
ただし、ユーザーが画面に1つ配置したときに呼び出す必要があります(シナリオ1)。それ以外の場合は重要です。確かに、onEnabledを呼び出すためにデバイスを再起動する必要はありません。
アラームマネージャーを接続してウィジェットを2秒ごとに更新するため、これは重要です。
実用的な解決策がない同様の質問があります:AppWidgetProvider:onEnabledメソッドが呼び出されていません
これらのインテントを登録する必要はありません。登録しても役に立ちません。
私の質問は、なぜonEnabledが呼び出されないのか、そしてどうすればそれを取得できるのかということです。
それはグーグルドキュメントで言う:ACTION_APPWIDGET_ENABLED:
AppWidgetのインスタンスが初めてホストに追加されたときに送信されます。このプロバイダーのインスタンスとともにAppWidgetHostがインストールされている場合、このブロードキャストは起動時に送信されます。
基本的に、両方のシナリオで機能することを確認します
これは、onEnabled()をトリガーするインテントです。
このプロバイダーのAppWidgetがインスタンス化されたときに、ACTION_APPWIDGET_ENABLEDブロードキャストに応答して呼び出されます。このメソッドをオーバーライドして、独自のAppWidget機能を実装します。
タブレットではなく電話で動作するという事実は奇妙です。これはAndroid3.2の問題ですか、回避策はありますか?
android - AppWidget setFillInIntentは、setDataまたはcomponentNameのデータセットを処理できませんか?
アプリウィジェットからさまざまなアプリケーションを起動したい。ウィジェットはアイテムのリストであり、アイテムをクリックするとGooglePlusなどのアプリが開きます。リスト内の項目を押しても何も起こりません。setDataとsetComponentNameを削除すると、使用するアプリを尋ねるダイアログが表示されます。appWidgetコレクションのPendingIntentを使用してデータとコンポーネント名をマージすることはできませんか?
私のAppWidgetProviderは次のようになります。
}
そして、StreamsWidgetServiceは次のようになります。
fillIntentなしで通常のアクティビティを使用する場合、これは機能します。
どうすればこれを解決できますか?私が間違っているのは何ですか?
android - AppWidgetを初めて追加するときに、更新が完了しない
編集:アプリ4.xデバイスをインストールしましたが、問題はありません。問題は3.xデバイスでのみ発生します。
デバイスでユーザー設定が変更されたときに、AppWidgetを手動で更新しようとしています。そのために、次のようなコードを使用します。
コードでlogcatにいくつかのデバッグ文字列を記録したため、結果としてAppWidgetonUpdateメソッドが呼び出されていることがわかります。ただし、AppWidget自体は画面上で変更されません。
ここに興味深い部分があります。デバイスを回転させてホーム画面を強制的に更新すると(PORTRAITからLANDSCAPEに、またはその逆)、最終的にAppWidgetが更新されます。ただし、デバイスを回転してもonUpdateメソッドが呼び出されることはないため、AppWidgetは以前の更新で提供されたRemoteViewを使用している必要があります。
更新を処理するときにAppWidgetのホーム画面を強制的に再描画する方法を誰かに説明してもらえますか?
使ってます<uses-sdk android:minSdkVersion="11" />
そして私のサービス:
android - Android ウィジェットから画面の明るさを変更する
ウィジェットから画面の明るさを変更しようとしています。基本的に、私は次のページからの提案に従いました。 画面の明るさのシステム設定を変更する Android
これまでのところ、これが私ができることです。1.ボタンを使用したメインアクティビティがあり、ボタンをクリックすると、画面の明るさを変更できます。
ボタン付きのウィジェットがあります。ウィジェットのボタンから RefreshScreen クラスが呼び出されていることを確認しました。このクラスを AppWidgetProvider から呼び出します。問題 画面の明るさが変わらない。問題をデバッグ モードで実行すると、次の警告が表示されます。
10-21 12:20:21.579: W/BackupManagerService(137): dataChanged が参加者なし pkg='com.android.providers.settings' uid=10086
10-21 12:20:21.579: W/InputManagerService(137): com.android.internal.view.IInputMethodClient$Stub$Proxy@40f56aa8 のフォーカス ゲインを無視して、ウィンドウは既にフォーカスされています
次の権限セットがあります。
明るさを変更する次のコードがあります。コードを混乱させて申し訳ありませんが、2 つのボタンがあります。Brightness ボタンを変更すると、画面が最も明るくなるはずです。音量ボタンを変更すると、画面は最も暗い部分と最も明るい部分の中間になるはずです。
どんな入力でも大歓迎です。ありがとうございました。
android - Android ウィジェット、Android API <11 で notifyAppWidgetViewDataChanged を使用する方法
Android 2.3.3 (API 10) に対応するために、ウィジェットを更新したいと考えています。
コードに問題があります。
以下のメソッドは minsdkversion=10 では認識されません。
Android 2.3.3、3.0 .... 4.0 でウィジェットを使用するために、APPwidgetProvider クラスでそれらを置き換えるにはどうすればよいですか?
android - Androidウィジェット(AppWidgetProvider)>トグルボタンのような「2つの状態」ボタン..およびWindowManager
私は最終的に、何かを行うボタンが 1 つある単純なウィジェット (1x1 セル) を作成することができました。私の場合(今のところ)乾杯。これは実際に行うのが非常に困難でした。ウィジェットは通常のアプリとは異なります。
すべての重要なファイルのこれまでの私のコード:
http://paste2.org/p/2427468
質問 1:
背景付きの通常のボタンがあります。そのボタンには、通常の状態と押された状態の異なる画像を定義する @drawable/...xml があります。これはうまくいきます。ウィジェットではトグルボタンがサポートされていないため、「ボタン」を使用する必要がありましたが、トグルボタンの効果が必要です。したがって、ボタンをクリックした後、押された状態を固定/フリーズする必要があります! もう一度クリックすると、通常の状態が修正/フリーズされます。これどうやってやるの?
質問 2:
質問 1 が機能する場合: 通常の状態と押された状態で異なるアクションが必要です。画面の明るさを下げたい/上げたい。
私が作成したアプリでは、これが機能しました:
これをウィジェットにどのように実装しますか?
このウィジェットの使用はほぼ完了したと思いますが、これら 2 つの質問に手を貸す必要があります。
ありがとう!
android - configure アクティビティから appWidgetId を取得する際の問題
いくつかのウィジェットを持つ Android アプリケーションを作成しています。設定アクティビティの作成を開始するまで、すべてが機能していました...まず、私のコード:
[編集] 明確にするために: バンドル (intent.getExtras() から) は常に null です...修正するにはどうすればよいですか? [/編集]
アクティビティ:
「System.out.println」はデバッグ用です (テキストはポルトガル語です。ポルトガル語が私の母国語なので)。
とにかく、問題はここに示されています:
それは常に他のものに行きます...したがって、すべてがエラーなしで失敗しました。:/
それが機能するために私がしなければならないことは何ですか?AndroidManifest.xml などを変更する必要がありますか?
ありがとう!
PS: うーん... Android 開発はまったくの初心者です... 何か変なところがあれば教えてください。
android - (Android) 間違った時間にサービスを呼び出す AlarmManager - 複数のアラーム
さて、私は AppWidget (もちろん AppWidgetProvider を使用)、configure Settings (ユーザーが 5 分から 2 時間の間で更新レートを選択)、およびウィジェットが更新される Service を持っています。
ホーム画面に AppWidget が 1 つしかない場合は、すべて正常に動作します。しかし、ホーム画面に 2 つ目の AppWidget を配置すると、両方とも同じデータ (ランダム データ) などで同時に更新され始めます。
それで、それを修正するために私は何をしなければなりませんか?
コード、ここに行きます:
アラームを開始する SettingsActivity:
WidgetServiceSmall (Service クラス) の onStartCommand メソッド:
アラームが停止される WidgetProviderSmall (AppWidgetProvider クラス) の onDeleted メソッド:
サービスが停止される WidgetProviderSmall (AppWidgetProvider クラス) の onDisabled メソッド:
ユーザーが次のようにペンを作成するように言った、StackOverflow の他の投稿の回答でコードを見ました。
それ以外の:
問題は、このように作成したら、後でキャンセルするにはどうすればよいかということです。
ありがとう!
android - Why is there a hidden appWidget on home screen?
After removing my last appWidget instance from home screen, onDisabled
, onEnabled
not working.
I register my widget as a broadcast receiver, there is no instance on home screen but broadcast receives and also I see my logs that written in my appWidget core class!
After uninstalling my application and installing it again, the problem solved and onDisabled
, onEnabled
worked correctly after adding(removing) first(last) instance.
I gathered appWidgetIds manually and holding it in a file to provide some better way to access all my widgets ids, but the hidden appWidget not removed from my collected widget ids and also exist in home screen!
The Question:
Is the problem a bug on Android Version 2.3.4(Testing Device)? and in this case what is the solution?
Important part of codes: