デバイス上のさまざまなアプリの使用状況を記録するアプリを作成しようとしています。例: Fifa の場合は 10 分、GTA の場合は 23 分などです。現在、常に実行されるサービスがあり、(intent.action.PACKAGE_CHANGED を使用して) アプリケーション パッケージが変更されたときにトリガーされると思われるブロードキャスト レシーバーがありますが、残念ながら内部にコードがあります。ブロードキャストは実行されません。誰かが問題をほのめかしたり、これを行う他の方法を教えてくれたりしていただければ幸いです。ありがとう
public class ScreenReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("BROADCAST", "Works fine" );
}
}
これは Service クラス内のコードです。
public int onStartCommand(Intent intent, int flags, int startId) {
IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_CHANGED);
ScreenReceiver recevier = new ScreenReceiver();
registerReceiver(recevier, filter);runningApps();
return START_STICKY;
}