画面がオンのときに実行されるコードがいくつかありますが、画面の電源をオフにすると、実行に問題が発生します(Wakelockをグローバルに取得した後でも)。ウェイクロックを取得してアクティビティを呼び出すサービスがあります-次のコードでExecuteScript:
ExecuteScript.java:
Intent intent = new Intent(this,ScriptActivity.class);
intent.putExtra("code",code);
intent.putExtra("type", type);
startActivityForResult(intent,REQUEST_CODE);
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.d(TAG,"The result code value inside onActivityResult() is: "+requestCode +resultCode);
if (resultCode == RESULT_OK && requestCode == REQUEST_CODE) {
Log.d(TAG,"ScriptActivity finished success!!");
}
そして、私の ScriptActivity (Service を呼び出し、30 秒かかる操作を実行します)。ただし、私の場合、 onActivityResult() は呼び出されません。なぜこれが起こるのか分かりません。私を助けてください。
handler.postDelayed() ブロック内で setResult() を定義しました。私は次のようなコードを持っています:
ScriptActivity.java
Intent serviceIntent = new Intent(this,ScriptService.class);
serviceIntent.putExtra("code",code);
serviceIntent.putExtra("type",type);
startService(serviceIntent);
handler.postDelayed(new Runnable(){public void run(){
Intent data = new Intent(ScriptActivity.this,ExecuteScript.class);
data.putExtra("returnKey1", "You can write the file to the server ");
setResult(Activity.RESULT_OK, data);
Log.d(TAG,"**After calling the method startActivityTwo here*****");
finish();
}},30000);
更新:バインドされたサービスの使用も機能しませんでした。これに関するアイデアはありますか?