0
私はエラー状態にあるプロセスとUsageStatManagerのアプリケーションの使用状況を調べているAndroidサービスを作成しました。このサービスを実行すると、一度そのメソッドが実行され、エラー状態のプロセスとアプリケーションの使用状況に関する定期的なチェックを行いたいと思います。Android:Androidサービスの関数を繰り返し呼び出す方法は?
私は考えていましたが、私は統計情報をチェックしたいと思っていましたが、これを他の方法で配置した方が良いかどうか疑問に思っていましたが、Thread.sleep() whileループはCPU消費を使用することがあります。任意のアイデアが役立つだろう。
マイコード:
public class Senddata_1 extends Service {
private String ip = "85.228.204.209";
private int port = 5000;
String message;
String file;
String TAG = "Senddata_1";
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("M-d-yyyy HH:mm:ss");
public void find_out_process_in_error_state(){
/*Some code to find out process in error state*/
return;
}
private UsageStatsManager getUsageStatsManager(Context context){
UsageStatsManager usm = (UsageStatsManager) context.getSystemService("usagestats");
return usm;
}
public List<UsageStats> getUsageStatsList(Context context){
List<UsageStats> usageStatsList = usm.queryUsageStats(UsageStatsManager.INTERVAL_DAILY,startTime,endTime);
return usageStatsList;
}
public void printUsageStats(List<UsageStats> usageStatsList){
}
@Override
public void onCreate() {
super.onCreate();
Log.e(TAG, "Inside service Senddata_1");
find_out_process_in_error_state();
printUsageStats(getUsageStatsList(Senddata_1.this));
new Thread(new Senddata_1.ClientSend()).start();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}
@Override
public IBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service.
throw new UnsupportedOperationException("Not yet implemented");
// return;
}
public class ClientSend implements Runnable {
}
}