当我的应用程序启动时,我正在显示启动画面。该页面已显示10秒,在线程上运行。
当它切换到结果上的新活动时,我想要点击服务器中的URL,我将获得一个返回值,我可以将其用于我的进一步实现。
这是我的代码:
private final int SPLASH_DISPLAY_LENGHT = 1000;
new Handler().postDelayed(new Runnable()
{
@Override
public void run()
{
Log.e("Handler ","run");
Intent myIntent = new Intent(getApplicationContext(), CaptureActivity.class);
startActivityForResult(myIntent, imgDL);
finish();
}
}, SPLASH_DISPLAY_LENGHT);
public void onActivityResult(int requestCode, int resultCode, final Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == imgDL)
{
Log.e("onActivity Result","");
urlHitMethod("http://XXXXXXXXXXXXXXXXXX.com/banner_scan");
}
}
但是这里没有调用onActivityResult
。如何解决这个问题?
答案 0 :(得分:4)
另外,请注意,如果你的基础活动(一个调用startActivityForResult)不能在清单中使用标志noHitory。
如果这样做,将永远不会调用onActivityResult。
答案 1 :(得分:1)
试试这个
Intent myIntent = new Intent(activity.this,CaptureActivity.class);
和
@Override
public void onActivityResult(int requestCode, int resultCode, final Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == imgDL)
{
Log.e("onActivity Result","");
urlHitMethod("http://XXXXXXXXXXXXXXXXXX.com/banner_scan");
}
if(resultCode==RESULT_OK)
{
Log.e("onActivity Result","come in onactivity result ok");
}
else
{
Log.e("onActivity Result","come in onactivity result with error");
}
}
答案 2 :(得分:1)
如果您正在使用onActivityResult,那么在使用intent启动时不应该完成活动,否则会导致应用程序崩溃。 感谢。
答案 3 :(得分:0)
在CaptureActivity.class中,您必须设置结果,然后在第一个活动中检查onActivityResult结果代码
在CaptureActivity.class中,它应该类似于以下
Intent in = new Intent();
setResult(1,in);//Here I am Setting the Requestcode 1, you can put according to your requirement
finish();