当我尝试从onActivityResult启动套接字时,它总是超时...我试图做的是启动从onActivityResult启动套接字连接的活动,但没有成功,但是当套接字从未从onActivityResult调用的其他地方启动时没有问题。这是我调用 startActivityForResult 和 onActivityResult 的代码。我很确定我做错了...任何朝着正确方向的推动??
public void scanNow(View view){
Intent intent = new Intent("com.blah.Blah.client.android.SCAN");
intent.putExtra("com.blah.Blah.client.android.SCAN.SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(intent, 0);
Log.d("debug tag", "started activity");
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent)
{
Log.d("debug tag", "inside onActivityResult");
if (requestCode == 0)
{
if (resultCode == RESULT_OK)
{
String contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
Log.i("debug tag", "contents: "+contents+" format: "+format);
Intent myIntent = new Intent(com.blah.Blah.Ads);
startActivity(myIntent);
// Handle successful scan
}
else if (resultCode == RESULT_CANCELED)
{
// Handle cancel
Log.i("debug tag", "Cancelled from main");
}
}
}
如果您可以发布不起作用的实际代码,也许有人可以更好地帮助您。连接工作的"其他地方"是什么?您是否在同一设备,应用程序,活动中尝试过?两个地方的代码完全相同吗?
检查这些:
- 您在清单中具有互联网权限
- 实际的网络调用不在主线程中