如何在所有活动的onCreate方法中执行相同的功能?
How to execute the same function in the onCreate method of all activities?
有什么问题?
我想在应用中已经实现的每个activity中添加这个自定义window回调,目前我需要手动修改每个activity的onCreate方法的代码或让它继承一个 class 已经以所需的方式创建 onCreate,但我需要这个过程可以在不修改应用程序现有代码的情况下执行,只需添加一些初始化。
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
window.callback = CustomCallback(window.callback, this)
}
你需要一个BaseActivity
class BaseActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
//your code
}
您的所有活动都需要延长BaseActivity
class MainActivity : BaseActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(binding.root)
}
}
在您的应用程序内部 Class(您需要创建一个,如果尚未完成),在“onCreate”方法上,调用
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
//Code here will run for every activity
}
}
有什么问题?
我想在应用中已经实现的每个activity中添加这个自定义window回调,目前我需要手动修改每个activity的onCreate方法的代码或让它继承一个 class 已经以所需的方式创建 onCreate,但我需要这个过程可以在不修改应用程序现有代码的情况下执行,只需添加一些初始化。
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
window.callback = CustomCallback(window.callback, this)
}
你需要一个BaseActivity
class BaseActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
//your code
}
您的所有活动都需要延长BaseActivity
class MainActivity : BaseActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(binding.root)
}
}
在您的应用程序内部 Class(您需要创建一个,如果尚未完成),在“onCreate”方法上,调用
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
//Code here will run for every activity
}
}