我正在从名为AddFriendActivity的活动中调用联系人选择器。一旦选择了联系人,它总是返回MainActivity而不是调用活动。
我已经检查了android清单,我看不到任何会导致它在恢复时更喜欢MainActivity的标签。我已经提取了(我认为是)下面的相关代码。
的AndroidManifest.xml
<activity
android:name="x.MainActivity"
android:label="@string/activity_main_title" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="x.start.StartActivity"
android:label="@string/start_activity_title"
android:noHistory="true" >
</activity>
<activity
android:name="x.policies.PoliciesActivity"
android:label="@string/activity_policies_title" >
</activity>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="x" />
<activity
android:name="x.AddFriendActivity"
android:label="@string/title_activity_add_friend"
android:parentActivityName="x.friendster.MainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="MainActivity" />
</activity>
从AddFriendActivity
启动联系人选择器的代码 btnContacts.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
Intent contactpicker = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);
startActivityForResult(contactpicker, 1);
Log.e("contactpicker", "meh start");
}
});
不确定这是否相关,但这是从MainActivity中的片段ChatPanel调用AddFriendActivity的代码
btnAddFriend.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
Intent intent = new Intent(getActivity(), AddFriendActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
}
});
知道为什么会这样吗?我可能错过了一些简单的事情......
答案 0 :(得分:1)
删除第intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
行
来自OnClickListener
并查看是否有效。
干杯