Android 共享来自外部应用程序的片段
我正在创建一个具有插件架构的应用程序。我正在用Android 共享来自外部应用程序的片段,android,android-fragments,broadcastreceiver,Android,Android Fragments,Broadcastreceiver,我正在创建一个具有插件架构的应用程序。我正在用BroadcastReceiver发现新的插件-如果插件被通知介绍自己,它会发回名称、数据提供者和首选项片段的cannonical名称(例如:mobi.hsz.project.plugin.foo.FooFragment) 我想在我的PreferenceActivity中采用这个片段,所以如果用户单击列表中的插件项,我想加载这个指定的片段。是否可以将外部片段加载到片段管理器中 如果我从插件中传递新的意图,并在我的应用程序中使用startActivit
BroadcastReceiver
发现新的插件-如果插件被通知介绍自己,它会发回名称、数据提供者和首选项片段的cannonical名称(例如:mobi.hsz.project.plugin.foo.FooFragment
)
我想在我的PreferenceActivity
中采用这个片段,所以如果用户单击列表中的插件项,我想加载这个指定的片段。是否可以将外部片段加载到片段管理器中
如果我从插件中传递新的意图,并在我的应用程序中使用startActivity
启动它,它会工作得很好,但是它打破了片段设计模式
最好的解决方案是在某个空片段中启动新的intent,这样它看起来就像是我的应用程序的一部分,但持有不同的应用程序上下文。我们可以在片段中显示新的意图,而不是新的“窗口”吗
是否可以将外部片段加载到片段管理器中
不,对不起
我们可以在片段中显示新的意图,而不是新的“窗口”吗
不是以任何可靠的方式。关于
ActivityGroup
?我们可以管理它以保持外部意图的观点吗?毫无疑问,很抱歉-不推荐使用,因为API级别13
@hsz:即使ActivityGroup
也不能跨流程边界可靠地工作。一个进程可以可靠地参与另一个进程的UI的唯一方法是通过RemoteView
。在插件环境中,这当然是一种可能性,尽管仅仅启动插件所需的配置活动是否值得让人头疼取决于您。