私のアプリでは、フォトエディターで複数の写真を(一度に1つずつ)実行しようとしています。現時点ではforループに設定していますが、フォトエディターが過負荷になっていて、現在の編集セッションが終了するまで実際に待機していないように感じるので、forループに制御ステートメントを入れたいと思いました。セッションがまだアクティブであったかどうかを確認します。
これは可能ですか?
電流がまだアクティブかどうかをポーリングするよりも、電流がいつ終了したかを簡単に知ることができます。で開始するとstartActivityForResult
、呼び出されたアクティビティが終了すると、呼び出し元のアクティビティに通知されます。
例として、Activity
ドキュメントのアクティビティの開始と結果の取得をご覧ください。
これを非同期タスクで実行することも検討してください。これにより、重い処理が UI スレッドから引き離されます。非同期タスクを使用すると、進行状況の更新も行うことができます。
http://developer.android.com/reference/android/os/AsyncTask.html
public class MainActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.logo_page);
// Call async task.
my_async as = new my_async(this);
as.execute();
}
--
my_async:
public class my_async extends AsyncTask<Object, Integer, String> {
private parentClass activity;
public my_async (parentClass activity) {
this.activity = activity;
}
@Override
protected String doInBackground(Object... arg0) {
// Do stuff
return "MyString";
}
protected void onPostExecute(String contents) {
activity.contents = contents;
}