我正在开发一个 android 应用程序,这是我面临的一个问题:
我的主菜单会将图像 uri 的意图传递给另一个活动,它将在第二个活动上显示图像。
我处理获取 uri 的意图并将其转换为 onStart() 方法中的位图(我自己编写代码以覆盖超类方法)。 (这样做是否正确?)
我应该在哪里将图像设置到活动的图像视图上?
我的问题是处理图像后,我的应用程序将强制关闭。但是如果我删除 onStart() 方法,第二个活动将不会出现错误,但不会显示图像(因为我处理显示图像)。
当我使用 Log.d() 方法来显示我的程序停止的位置时,它确实显示程序运行直到我处理意图并获取位图(我的程序此时结束的位置)。
这是我的 onStrat() 方法的代码:
protected void onStart()
{
Bitmap newBitmap = null;
Intent imageURI = getIntent();
Log.d("HERE", "intent received");
String imageLoc = imageURI.getExtras().getString("IMAGE_URI");
Log.d("HERE", imageLoc);
Uri imageLocation = Uri.parse(imageLoc);
Log.d("HERE", "Uri reated");
try
{
newBitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageLocation);
}
catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.d("HERE", "bitmap created");
}
我搞砸了一些事情,终于找到了解决方案。感谢异步任务信息,它确实加快了我的进程。
谢谢你。