アプリケーション自体のユーザーからのアクションなしで、URL からの画像のダウンロードが完了した後、意図を開始する必要があります。
これは、最初に画像をダウンロードし、その後インテントを開始する私のアクティビティです。
//download image then start decod intent
public void download(View v)
{
//first download image
new MyAsnyc().execute();
//then start this intent
final Handler handler=new Handler();
final Runnable r = new Runnable()
{
public void run()
{
{
Intent intent1 = new Intent(Test_PROJECTActivity.this, DecodeActivity.class);
File path = Environment
.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
File file = new File(path, "DemoPictureX.png");
Log.d("file", file.getAbsolutePath());
intent1.putExtra("file", file.getAbsolutePath());
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
startActivity(intent1);
}
}
};
handler.postDelayed(r, 5000);
}
MyAsnyc は問題なく、イメージを正しくダウンロードしますが、イメージのダウンロード中にインテントを開始するコードの 2 番目の部分でイメージが破損し、例外が発生します。
イメージの準備ができてダウンロードが完了したら、インテントを開始するにはどうすればよいですか?