如何在android中将PersistableBundle转换为Bundle?

时间:2017-09-09 17:35:39

标签: android bundle android-jobscheduler

我正在寻找一种方法将PersistableBundle转换为android中的Bundle。有没有更简单的方法来做到这一点?它们都不从同一类继承,因此我不能对它们进行类型转换。

编辑:

我发现这种方式可以复制

public static Bundle getBundleFromPersistableBundle(final PersistableBundle persistableBundle) {
    Bundle bundle = new Bundle();
    if(persistableBundle == null) {
        return null;
    }
    bundle.putAll(persistableBundle);
    return bundle;
}

1 个答案:

答案 0 :(得分:1)

您可以从PersistableBundle实例构建一个Bundle。

PersistableBundle pb = new PersistableBundle();
Bundle b = new Bundle(pb);

有关此构造函数,请参阅the documentation

  

构造一个包含给定PersistableBundle映射副本的Bundle。只有PersistableBundle的浅层副本 - 如果你不想要的话,请参阅deepCopy()。