我trrigger and intent如下: -
Intent intent = new Intent();
intent.setClassname(packagename, activity path for my activity say 'xyz');
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
对于我的活动(xyz)我已在其清单文件中导出=“true”。
但是这个意图并没有启动所需的活动(xyz),它只在新窗口中显示我的活动的标题,然后它显示了Settins活动。
我不确定问题出在哪里。 我的活动都在不同的包中。 请帮忙
答案 0 :(得分:1)
活动一:
Intent i = new Intent(One.this, Two.class);
//i.putExtra("result", data); //optional if you want pass some data
startActivity(i);
//optional to get data:
活动二:
Intent intent = getIntent();
String text = "";
if (intent.hasExtra("result")) {
text = intent.getStringExtra("result");
} else {
// no extras for result available.
}
答案 1 :(得分:0)
以这种方式尝试:
Intent intent = new Intent(CurrentActicity.this, TargetActivity.class);
然后设置所需的标记并调用startActivity();
答案 2 :(得分:0)
设置好旗帜
Intent i = new Intent(this.getClass(), xyz.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(i);
请注意使用addFlags而不是setFlags,因为setFlags将覆盖所有现有标志。
答案 3 :(得分:0)
啊,最后我得到了解决这个问题.. 有一些错误的联系正在造成问题。 所以我在AndroidManifest文件中添加了元数据,用于我打算通过意图启动的活动。
这样的事情: -
<activity android:name="abc$xyz"
<meta-data android:name="com.vivek.abc.FRAGMENT_CLASS"
android:value="com.vivek.abc.xyz" />
<meta-data android:name="com.vivek.abc.PARENT_FRAGMENT_CLASS"
android:value="the parent activity name" />
</activity>
这对我来说非常有用。
感谢所有试图提供帮助的人:)