問題タブ [activity-manager]

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 投票する
4 に答える
7664 参照

java - Android: UsageStatsManager が正しい毎日の結果を返さない

毎日使用されたすべてのアプリ パッケージとその期間を返すことを目的として、からクエリを実行しようとしていUsageStatsます。UsageStatsManager

コード:

真夜中の直前に毎日発火するアラームと、クエリの使用状況統計があり、返されたデータを保存します。最初はすべてうまくいっているように見え、パッケージの結果とそのアクティブ時間を取得していましたが、1 時間ごとに結果を確認する機能を追加したところ、ここで奇妙な発見がありました。

の結果は、真夜中ではなく、さまざまな時間にリセットされているように見えました。これは、検索パラメーターとしてUsageStatsManager使用していたことを考えると予想していたことです。INTERVAL_DAILY

パッケージの「時間」結果を保存したデータから、(大まかなタイミング):

  • 午前3時
  • 正午
  • 午後3時
  • 夜中

パッケージのタイミングがいつリセットされるかの間に相関関係があることは認識していますが、これは意図されたものですか?

私はすでに次のスレッドを見て、そこから多くの情報を入手しました: UsageStatsManager の使用方法?

その結果: Android UsageStatsManager が間違った出力を生成しますか? queryUsageStatsコメントでは、から返されたデータは信頼できず、ランダムな結果が 返されていると述べています。

簡単なものが欠けているのか、それともUsageStatsManager正しく機能していないのでしょうか?

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

android - adb shell を介してアクティビティを開始し、その応答を受け取ることはできますか?

次のコマンドを使用して、任意のアプリからエクスポートされたアクティビティを開始できることを知っています。adb

コマンドを使用して、"am start"追加のデータをアクティビティに送信することもできます (これを行う方法は知っていますが、これはここで尋ねている質問ではありません!)。

しかし、私が知る必要があるのは、終了時に開始されたアクティビティから返された応答データを受信することも可能かどうかです?

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

android - Androidは最近のボタンクリックを検出します

Androidで最近クリックしたボタンを検出する方法. onWindowFocusChanged を使用すると、新しいアクティビティが開始された場合に呼び出されます。ActivityManager.getRunningTasks を使用しようとして、一番上のアクティビティのパッケージ名がアプリケーション パッケージ名のみであることを確認します。それで、最近のボタンクリックを処理する別の方法はありますか?

履歴画面ボタン

この画像では、3 つのボタンがあります。一番右のボタン(最近の画面ボタン)を聞きたいです。

アクティビティで onWindowFocusChanged(boolean hasFocus) を試しました。最近のボタンのクリックでアプリがバックグラウンドに移行した場合、hasFocus の値は false です。ただし、新しいアクティビティ (アプリ内) が開始された場合は false になります。その問題を乗り越えたい。これを達成する方法はありますか?

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

android - ActivityManagerCompat.isLowRamDevice は役に立たず、常に false を返します

isLowRamDevice動画をストリーミングするアプリにヘルパー メソッドを使用したいと考えていました。API レベル 15 までのデバイスをサポートしているため、ActivityManagerCompat.isLowRamDevice(). 非常に古いデバイスを使用していても、常に false が返されることに、私は本当に混乱していました。次に、メソッド自体を確認したところ、次のことがわかりました。

したがって、私の Android 4.0.4 デバイスでは常に false が返されるのも不思議ではありません。しかし、私にとってこれはまったく意味がありません。または、何か不足していますか?