問題タブ [android-pendingintent]

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 に答える
1364 参照

android - Android 位置認識アプリ - 複数のリスナーを使用せずに複数の関心のあるポイントを設定します

ユーザー/デバイスが事前定義された関心のあるポイントの1つに近づくたびにアラートを表示するアプリを作成しています。

それを行うために私が見つけた唯一の方法(実際、私はそれをそのように機能させました)は、関心のあるすべてのポイントに対して(一意の名前で)保留中のインテントを作成することです。しかし、それはリソースの観点からそれを行うための最良の方法ではないと思います..

複数の個別の意図ではなく、保留中の意図を 1 つだけ使用して、このような機能を実現することは可能ですか?

それを行う他の良い方法はありますか?

前もって感謝します

マイク


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

android - BroadcastReceiver は複数のブロードキャストをキャッチできますか?

複数の近接アラートを作成しようとしていますが、機能しません...

ブロードキャスト レシーバーが上書きされ、最後のブロードキャストのみを処理していると思います。したがって、意図が最後に作成されたものだけに近い2つのポイントがある場合、アラートが生成されます...

リクエストコードを使用する必要があると読みましたが、その方法がわかりません...


保留中のインテントとブロードキャスト レシーバーをセットアップするための私の方法...

私のブロードキャストレシーバークラス

手伝ってくれませんか???私は本当にこれで立ち往生しています...

どんな助けでも本当に感謝します!!!

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

android - アラームの設定とリセットに関する Android AlarmManager の問題

アラームを使用してサーバーからデータをフェッチします。アラームを開始および停止するオプションをユーザーに提供したいと思います。これは、アラームがすでに設定されているかどうかを確認する必要があることを意味します。アラームがすでに設定されているかどうかを示すコードを見つけました。

アラームがすでに設定されている場合はキャンセルしますが、設定されていない場合は設定します (トグルのように)

問題は、これが一度しか機能しないことです。上記のコードで既存のアラームを初めてチェックすると、アラームがないことを示す null が返されますが、アラームをキャンセルすると、何かへのポインタが返されますが、アラームは実行されていません。

ここにアラームを設定するコードがあります

アラームをキャンセルするコードは次のとおりです。

PendingIntent をなくすためにアラームをキャンセルした後、何かをリセットする必要がありますか。

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

android - ロケーションマネージャーはロケーションの更新を削除しません!

重複の可能性:
Android: 意図的に位置情報更新のリクエストをキャンセルするには?

以前に別のアクティビティで作成した保留中のインテント (ブロードキャスト) を無効にしようとしていますが、機能させることができません。インテントを再作成し(同じエクストラとすべてを使用して)、それをパラメーターとして渡して、pendingIntent をインスタンス化し、pendingIntent をパラメーターとしてロケーション マネージャー removeUpdates メソッドに渡す必要があることを読みました。

言い換えると:



それはうまくいかなかったので、保留中の意図を作成するために使用されたものと同じではなく、新しいオブジェクトであるという意図に関係している可能性があると考えました。

だから私はそれを作成した直後に pendingIntent を削除しようとしましたが、それはどちらもうまくいきませんでした:


それを手伝ってくれませんか?水曜日以来、盗聴されています...これにバウンディを置くための評判がもっとあればいいのに...

ありがとう

マイク

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

android - Android のアラームに関する保留中の意図

特定の時間にサービスを停止するように設定するときは、AlarmManager システム サービスを使用します。すべてが問題なく終了し、サービスが呼び出されてアクションが実行されます。

アラーム時刻になるとサービスが開始され、この時点でシステム時刻 (System.currentTimeMillis()) を取得します。これは実際のサービス開始時間ではないと思います。この PendingIntent に設定された時間を取得する方法はありますか?

すなわち

アラームを午前 9 時に設定します。
DoStuffService は午前 9 時に開始されます。
DoStuffService は、午前 9 時に開始するはずだったことを認識しており、この値を今後の機能に使用します。

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

android - AlarmManager を使用してウィジェットを手動で更新する

Android Dev Guide に記載されているように、ウィジェットをより頻繁に更新する場合は、 を使用しAlarmManagerて、デバイスを復帰させないアラームを設定する必要があります。

原則として、クラスによって提供される標準メカニズムAppWidgetProviderと、xml ファイルの android:updatePeriodMillis を使用した簡単なセットアップを使用しないでください。

申し訳ありませんが、ガイドには「AlarmManager を使用する、RTCまたはELAPSED_REALTIME... を使用する」と記載されていますが、ウィジェットを更新するだけのインテントを正確に送信するにはどうすればよいですか?

PendingIntentデフォルトの動作を模倣するために必要なコードを誰か教えてください。ウィジェット ID を取得する方法や、どのアクションを使用すればよいかなどの手がかりがありません...悲しいことに、開発者ガイドはその時点で説明を停止します! どのアクションのエキストラとして何が必要ですか?

なぜ私が 30 分よりも頻繁に更新したいのか興味がある人のために: 私のウィジェットは次のバスがいつ駅を出発するかを示します。バスは 20 分おきに運行されているので、次のバスの出発時刻を表示するウィジェットを 1 分ごとに更新する (これが私が望んでいることです!!) か、次のバスの出発時刻を表示するかの 2 つのオプションがありました。少なくとも20分ごとに更新する必要があります!

さて、もちろん、デバイスがスリープ状態のときは、これでスリープ状態から復帰することはありません。したがって、開発者ガイドのこのセクションに関する私の理解では、これが正しい実装方法であるということです。誰かが私が間違っていると思いますか?ああ、もう 1 つ確認したいことがあります。ウィジェットを更新する必要があるときにデバイスがスリープ状態で、デバイスがスリープ状態になっているためにアラームが発行されない場合、デバイスが起動するとすぐに更新されますか?

ご協力いただきありがとうございます!!

PS: ウィジェット プロバイダーの xml 定義では、ブール スイッチによって単純に「デバイスを起動しない」ことを許可しないのはなぜなのか、本当に疑問に思っています。とにかくデバイスを起動するには、どのような種類のウィジェットが必要ですか??? ;-)

これは私が今までやってきたところですが、うまくいきません - 何も起こりません:

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

android - onReceive が応答しているリクエストはどれですか?

電話番号とステータス フィールドを含む連絡先の ArrayList があります。送信結果が成功したときにステータス フィールドを更新したいと考えています。

ArrayList アイテムのインデックスを、contacts.indexOf(c.getPhoneNumber()) を int requestCode として Pending Intent に渡そうとしました。どのメッセージが成功したと報告されているかを判断し、連絡先アイテムを更新する方法がわかりません。

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

android - androidリモートプロセス(レシーバー)がすぐに死ぬ

私は60秒ごとにCPUの激しいタスクを実行しようとしています。私はPendingIntentでAlarmManagerを使用しています`

AlarmReciever.classは、サードパーティのバイナリを使用して強力な処理を実行し、完了するまでに最低12秒かかります(同じアクティビティの実行としてテストされた場合)。しかし、PendingIntentと同じように実行すると、開始後数秒でリモートプロセスが停止することがわかります。このエラーが発生します

Logcatで。それは言う

しかし、私は意図に余分なものを入れていません。しかし、将来的には何かを置きたいと思います。

誰かが親切に私がなぜそれがとても速く閉じるのか、そしてそれがそのタスクを終えた後にのみプロセスが死ぬために何ができるのかを理解するのを手伝ってくれませんか?

マニフェストはこのようにリストされます

追加するために、私はSOでこの回答で提供された解決策を試しましたが、それでも運がありません

0 投票する
3 に答える
4479 参照

android - エクストラを BroadcastReceiver に送信する

次のコードを実行するアクティビティがあります (時間と間隔が定義されています)。

および次の onReceive を持つ BroadcastReceiver:

しかし、intent.getIntExtra() は -1 を返します (これは、Activity の interval の値ではないことを確認しました)。そのため、何らかの理由で、BroadcastReceiver は、Activity のインテントに保存したエクストラを取得していません。

私はたくさんのことを試しましたが、何もうまくいかないようです。ここで何か不足していますか?

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

android - 以前に一時停止したアクティビティを再開する意図 (通知から呼び出されます)

ユーザーに通知を表示するアプリを開発しています。通知の目的は、ユーザーが別のアクティビティを行っているときに、そのアクティビティに簡単に戻れるようにすることです。アプリでこのコードを使用して、通知を作成して表示しています。

ただし、ユーザーが通知をタップすると、ユーザーが以前に使用していたものではなく、同じアクティビティの新しいインスタンスが開始されます。

これは PendingIntent と関係があると思いますが、新しいインスタンスを作成する代わりに、以前に一時停止したアクティビティのインスタンスを再開するようにそのインテントを作成する方法が見つかりません。

ありがとう。