1

我对 android 很陌生,我正面临一个有线问题。

我正在开始这样的活动:

Intent i = new Intent(getApplicationContext(),InvoiceActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.putExtra("invoice",extras.getString("invoice"));
startActivity(i);

在日志中我可以看到这一行:

Starting: Intent { flg=0x10000000 cmp=com.simplepay.hellomobile/.InvoiceActivity (has extras) } from pid 4785

但在我的模拟器和我的安卓设备中,活动根本没有开始。也不例外。

哪里会出错?

提前致谢。

4

4 回答 4

2

您尚未添加startActivity:添加:startActivity(i);

于 2013-03-15T14:01:24.050 回答
0

试试这个:

Intent i = new Intent(this,InvoiceActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.putExtra("invoice",extras.getString("invoice"));
startActivity(i);
于 2013-03-15T13:58:23.170 回答
0
Intent i = new Intent(this,InvoiceActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.putExtra("invoice",extras.getString("invoice"));
startActivity(i);

上面的代码将运行,但在运行之前,强烈建议您学习 android 的基础知识。从一个活动开始另一个活动这是 android 开发者站点链接中的一个很好的示例

于 2013-03-15T14:02:45.453 回答
0

我认为您的问题是您正在使用整个应用程序的上下文。改为使用当前活动的上下文。

 Intent i = new Intent(this,InvoiceActivity.class);
 i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 i.putExtra("invoice",extras.getString("invoice"));
 startActivity(i);

或者你可以这样做。

Intent i = new Intent(YourCurrentActivity.this,InvoiceActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.putExtra("invoice",extras.getString("invoice"));
startActivity(i);
于 2013-03-15T14:16:37.760 回答