0

私は画像を保存するフォルダーを持っています....だから私がしたいのは、この画像をサーバーにアップロードすることです.アップロードが完了したら、この画像を削除したい..このアップロードと削除はバックグラウンドで行われるべきです...だから私は正常に動作するサービスを作成しました..新しいファイルがこのフォルダに来るたびに、自動的にアップロードする必要があります..つまり、サービスは自動的に開始する必要があります...これを行う方法はありますか...? ?

public class MyServices extends Service {

    @Override
    public IBinder onBind(Intent intent) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        // TODO Auto-generated method stub
        Toast.makeText(getApplicationContext(), "Service Started",
                Toast.LENGTH_LONG).show();

        sendfile();
        return super.onStartCommand(intent, flags, startId);
    }
    @Override
    public void onDestroy() {
        // TODO Auto-generated method stub
        Toast.makeText(getApplicationContext(), "Service Stopped",
                Toast.LENGTH_LONG).show();
        super.onDestroy();
    }
}

sendfile() はフォルダーをスキャンして画像を送信します....だから、このメソッドを無限に呼び出し続ける必要がありますか、それとも他の方法はありますか???

4

3 に答える 3

0

AlarmManagerを使用して、サービスを実行し、フォルダーを確認することもできます。(ただし、バッテリー消費アプリ=)に注意してください)。

于 2013-01-28T11:55:46.667 に答える
0

以下にいくつかのオプションを示します。

  1. FileObserverを使用して、ディレクトリの変更を監視できます。
  2. アプリが画像を作成している場合、新しい画像が追加されるたびに startService を呼び出すことができます。
  3. ACTION_NEW_PICTUREをリッスンして、いつ新しい写真が追加されたかを知ることができます(写真を追加するアプリがカメラ アプリのように動作すると仮定します)。
于 2013-06-17T23:33:05.970 に答える