问题描述
我必须从外部应用程序打开我的应用程序的活动“测试”:
为此,我已将此活动注册为隐式意图:
class ImplicitIntentActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val action: String? = intent?.action
if (Intent.ACTION_VIEW == action) {
val data: Uri? = intent?.data
val startCategory = Intent(this,OpenFromExternalAppActivity::class.java)
startCategory.putExtra("openProtocol",data.toString());
startCategory.flags = Intent.FLAG_ACTIVITY_NEW_TASK
startActivity(startCategory)
}
finish()
}
}
打开OpenFromExternalAppActivity:
class OpenFromExternalAppActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val taskRoot = isTaskRoot
if (!taskRoot) {
val lbm = LocalbroadcastManager.getInstance(this@OpenFromExternalAppActivity)
val intent = Intent()
//....
lbm.sendbroadcast(intent)
} else {
val tmp: Class<*> = FirstSplash::class.java
val aaa = Intent(this,tmp)
startActivity(aaa)
}
finish()
}
}
还有更好的方法吗?
也许我可以对OpenFromExternalAppActivity使用singleTask launchMode吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)