A. BC |。 |。 | 主要活动 带回调的蓝牙例程
MainActivity 对我有两个目的:
A、B、C 总是从 MainActivity 开始,例如:
startActivityForResult <Act A> (1)
A、B、C 总是以类似的方式结束:
setResult(9996, 意图) 完成()
A、B、C 永远不会同时居住。
因此,假设 A 处于活动状态,并且 TextView 填充了在 CallBack 中获得的数据,并且每当有新数据传入时都需要刷新。进出 A、B、C 的所有良好移动,直到发生 CallBack。系统立即跳转到 MainActivity 中的 CallBack 方法,没有正常的生命周期调用(onPause、onExit 等),A 留在堆栈中。
我想有一种方法在回调之后从 MainActivity 杀死 A 并重新开始。我尝试了各种方法,例如:
((Activity) Class.forName(className).newInstance()).finish();
努力达到顶峰:
val am = this.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
val taskInfo = am.getRunningTasks(1)
val componentInfo = taskInfo[0].topActivity
val Actvity_Name = taskInfo[0].topActivity?.className
val PKG_Name = componentInfo?.packageName
然后尝试用各种技术杀死 Activity_Name 没有成功。
我希望能帮助您解决这个问题。
答案 0 :(得分:0)
https://developer.android.com/reference/android/app/Activity#onNewIntent(android.content.Intent)
问题是活动应该是特定类型。您还需要知道哪个是活动的才能调用它。