Android 摩托罗拉里程碑上的图像捕获问题
下面是简单的代码片段来说明这个问题。Android 摩托罗拉里程碑上的图像捕获问题,android,camera,snapshot,milestone,Android,Camera,Snapshot,Milestone,下面是简单的代码片段来说明这个问题。 为什么登录方法“onActivityResult”的字段“tag”的值没有被“tag_modified”? 我还尝试了其他异步调用“startActivityForResult”,但不存在这样的问题。 这个问题仅仅发生在我的Moto里程碑上,但HTC G7上一切顺利 public class HelloSnapshot extends Activity { private static Logger logger = Logger.getL
为什么登录方法“onActivityResult”的字段“tag”的值没有被“tag_modified”?
我还尝试了其他异步调用“startActivityForResult”,但不存在这样的问题。
这个问题仅仅发生在我的Moto里程碑上,但HTC G7上一切顺利
public class HelloSnapshot extends Activity {
private static Logger logger = Logger.getLogger(HelloSnapshot.class.getName());
final int REQUESTCODE_SNAPSHOT = 1;
String tag = "tag_initial";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Button button = new Button(this);
button.setText("BUTTON");
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tag = "tag_modified";
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, REQUESTCODE_SNAPSHOT);
}
});
setContentView(button, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
}
public void onActivityResult(int requestCode, int resultCode , Intent data) {
switch (requestCode) {
case REQUESTCODE_SNAPSHOT:
if (resultCode == Activity.RESULT_OK) {
logger.info(tag);
}
break;
}
}
}
我发现了
一些android操作系统会终止快照调用活动,以避免与内存相关的异常。
因此,我必须通过方法onSaveInstanceState保存所有状态,并在再次构造调用活动时检索它们
此外,我还发现,存储在内存中的所有信息都很容易被擦除,就像那些单例对象一样。因此,我必须通过一些持久性存储方法进行保存,并在以后恢复它们