Intent intent = new Intent(Intent.ACTION_PICK, null);
intent.setType("image/*");
startActivityForResult(intent, TServiceInfo.ACTIVITY_PICSELECTED);
与上面的一些代码一样,Activity将跳转到系统库。 但是startActivity会不会运行TServiceInfo.class?
TServiceInfo.ACTIVITY_PICSELECTED
等于4,我可以写一下startActivityForResult(intent, 4);
它们之间的区别是什么?
(TServiceInfo.class是客户端和服务器之间的连接类)
答案 0 :(得分:2)
没有区别。请务必使用与requestCode
中的onActivityResult()
相同的内容。
答案 1 :(得分:1)
TServiceInfo.ACTIVITY_PICSELECTED
非常有用!
这也取决于许多事情,例如,如果你想要在图库/音频中查看视频,那么你可以设置另外两个整数变量,如ACTIVITY_VIDEO_SELECTED,ACTIVITY_AUDIO_SELECTED!
您可以拥有许多
的实例Intent intent = new Intent(Intent.ACTION_PICK, null);
intent.setType("video/*");
startActivityResult(intent, TServiceInfo.ACTIVITY_VIDEO_SELECTED);
或者
Intent intent = new Intent(Intent.ACTION_PICK, null);
intent.setType("audio/*");
startActivityResult(intent, TServiceInfo.ACTIVITY_AUDIO_SELECTED);
但是你只能拥有 onActivityResult 的一个实例!因此,在此方法中,您可以使用这些值来预测从哪个实例调用它:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == TServiceInfo.ACTIVITY_PICSELECTED && resultCode == RESULT_OK &&null != data)
{
// do something here
}
if (requestCode == TServiceInfo.ACTIVITY_VIDEO_SELECTED && resultCode == RESULT_OK &&null != data)
{
// do something here
}
if (requestCode == TServiceInfo.ACTIVITY_AUDIO_SELECTED && resultCode == RESULT_OK &&null != data)
{
// do something here
}
}
因此,通过维护这些变量的值(ACTIVITY_PICSELECTED
,ACTIVITY_VIDEO_SELECTED
,ACTIVITY_AUDIO_SELECTED
)您可以预测应该执行哪些代码!