2

「新鮮な」アプリケーションを維持するための PassiveProvider と PendingIntents の使用に関する次の文を読んだとき、Reto Meier の (非常に便利な) Android 開発者ブログ投稿A Deep Dive into Locationを読んでいました。

「アプリが「終了」の概念を認識している場合 (通常、ユーザーがホーム画面の [戻る] ボタンをクリックしたとき)、パッシブな位置情報の更新をオフにすることをお勧めします。これには、パッシブ マニフェスト レシーバーの無効化も含まれます。」

アプリが Android コミュニティで「善良な市民」である必要があることは理解していますが、これは PassiveProvider と PendingIntents を使用して場所の鮮度を確保するという目的にも反するのではないでしょうか? 私が理解していることから、パッシブ位置情報の更新をオフにすると、アプリがそれらの更新を受信できなくなります。この場合、ユーザーがアプリを再起動したときに、別の場所の修正を待つ必要はありませんか? getLastLocation() を呼び出すことができることはわかっていますが、アプリの終了時に PassiveProvider と PendingIntents を明示的にオフにすると、新鮮さを確保するのにどのように役立つのか疑問に思っていました。

4

1 に答える 1

2

まあ、答えはそれほど明白ではないと思います:

Androidでアプリケーションを閉じる実際の方法はありません(つまり、ユーザーにとって)。しかし、ブログでは、アプリのメイン画面/アクティビティで戻るボタンを押すことは、実際にはアプリを終了することを意味すると想定しているようです。これは、たとえば、イルカが戻るボタンのヒットに反応する方法です。

したがって、人々がこのボタンを使用した場合、アプリを終了したいと考えていると見なすことができ、パッシブ ロケーション プロバイダーとレシーバーを含む、使用したすべてのリソースを閉じることができます。

しかし、ほとんどの場合、人々はメニュー ボタンを押すだけで、この方法でアプリから別のアプリに切り替え、それらをすべて開くことができます。この場合、Reto の投稿で説明されているように、アプリが最新の状態に保たれるようにレシーバーを配置します。

更新 : 戻るボタンをこのように使用する (アプリを閉じる) ことは公式の良い習慣のようです。このブログはそれについて非常に興味深いものです:

よろしく、ステファン

于 2011-08-01T18:01:22.767 に答える