2017-07-04 22 views
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 { 

} 

}

答えて

0

あなたはタイマーを使用して、そこにmTimeRateは、ミリ秒単位

になります

Timer timer = new Timer(); 
timer.scheduleAtFixedRate(new TimerTask() { 

     @Override 
     public void run() { 

      //start service here 

     } 
    }, 0, mTimeRate); 

サービスと実行機能を開始する時間を設定することができます

関連する問題