我有一个非 Activity 类(我们称之为“NonActivity”),它需要发布消息并获得用户反馈。我有一个消息活动 (MsgActivity) 类来执行此操作。但是只有 Activity 类可以调用startActivityForResult()所以我在 NoActivity 中做了一个内部帮助类:
// just to provide an Activity to launch MsgActivity
class ActivityMsgClass extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent iMA = new Intent(this, MsgActivity.class);
iMA.putExtra("MsgText", mParams[0]);
...blah blah ...
iMA.putExtra("ButtonCode", iBtns);
startActivityForResult(iMA,3);
}
}
因此,我的 Activity 类在 Manifest 中声明:
<activity android:name="ActivityMsgClass"
android:configChanges="orientation"
android:screenOrientation="portrait"
android:launchMode="singleInstance"></activity>
但是当我尝试调用它时。. .
Intent i = new Intent(ctx, ActivityMsgClass.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ctx.startActivity(i);
...我得到一个 ActivityNotFound 异常。我也试过没有 FLAG_ACTIVITY_NEW_TASK,我也试过在清单中限定名称,例如,
<activity android:name=".NoActivity.ActivityMsgClass"
. . . 无济于事。我究竟做错了什么?
提前致谢。