Android:通知调用Fragment

时间:2014-02-06 19:39:59

标签: android android-intent android-fragments android-activity

我可以通过设置 PendingIntent 并使用 setLastestEventInfo() 来获取通知来调用活动。如果我想调用特定片段怎么办?我可以覆盖的任何方法吗?据我所知,片段不能直接使用意图,但需要由活动托管。

1 个答案:

答案 0 :(得分:2)

您可以将片段的完整类名称(MyFragment.class.getName())作为额外的Intent传递。然后,有一个托管活动接收意图,并显示给出的片段作为额外的,如下所示:

public static final String FRAGMENT_CLASS = "fragment_class";

public void onCreate(Bundle savedState) {
    Intent i = getIntent();
    String fragmentClass = i.getStringExtra(FRAGMENT_CLASS);
    if (!TextUtils.isEmpty(fragmentClass)) {
        Fragment toDisplay = Fragment.instantiate(this, fragmentClass);
        getSupportFragmentManager()
                .beginTransaction()
                .add(R.id.my_root_container, toDisplay, null)
                .commit();
    }
}