Java 如何仅对特定的活动类运行应用程序类?
在我的算法中,如何使Application.java只在主菜单中运行 就目前而言,MyApplication.java运行在每个活动上。我已经在我的主菜单上试过了,但没有成功Java 如何仅对特定的活动类运行应用程序类?,java,android,beacon,Java,Android,Beacon,在我的算法中,如何使Application.java只在主菜单中运行 就目前而言,MyApplication.java运行在每个活动上。我已经在我的主菜单上试过了,但没有成功 @Override protected void onResume() { super.onResume(); SystemRequirementsChecker.checkWithDefaultDialogs(this); beaconManager.connect
@Override
protected void onResume() {
super.onResume();
SystemRequirementsChecker.checkWithDefaultDialogs(this);
beaconManager.connect(new BeaconManager.ServiceReadyCallback() {
@Override
public void onServiceReady() {
beaconManager.startRanging(region);
}
});
}
@Override
protected void onPause() {
super.onPause();
beaconManager.stopRanging(region);
finish();
}
@Override
protected void onStart() {
super.onStart();
beaconManager.stopRanging(region);
}
@Override
public void onStop(){
super.onStop();
beaconManager.stopMonitoring(region);
beaconManager.stopRanging(region);
finish();
System.runFinalizersOnExit(true);
System.exit(0);
android.os.Process.killProcess(android.os.Process.myPid());
}
我强烈建议您再次访问,因为看起来您可以重温一些Android的核心概念。您还需要检查原因 作为示例,
应用程序
是用于维护全局应用程序状态的基类,并且在创建应用程序/包的流程时,在任何其他类之前实例化。因此,您不能只是禁用它
如果我的理解是正确的,您希望表示某种状态,这表示用户已经通过了所有初始要求(登录和IMEI检查),现在可以完全访问应用程序功能。暂时忽略我们现有的当代工具,一个非常基本的方法可以是一个提供主菜单功能的简单类,例如:
class MainMenu {
private final Context appContext;
private final BeaconManager manager;
public MainMenu(@NotNull Context context) {
appContext = context.getApplicationContext();
manager = BeaconManager.getBeaconManager(context);
}
public void connectBeacon(@NotNull Callback callback) {
beaconManager.connect(new BeaconManager.ServiceReadyCallback() {
@Override
public void onServiceReady() {
beaconManager.startRanging(region);
callback.onSuccess(region);
}
});
}
public void disconnectBeacon(@NotNull Region region) {
if (manager.isRanging(region)) {
beaconManager.stopRanging(region);
}
}
}
成功登录后,您可以在main活动
中为每个活动
实例创建基类
更好的选择是遵循体系结构模式,尤其是当你的应用程序比几个类都大的时候。如果你不能决定哪一个,你可以检查一下。另一个有用的模式/技术要考虑的是,对于一个库,例如,你可以利用子组件或范围来精确地实现你的分离。
基本上你不能,应用程序类在运行应用程序时创建(甚至在后台)。 这是github的概述,介绍ApplicationClass
Android中的应用程序类是包含所有其他组件(如活动和服务)的Android应用程序中的基类。在创建应用程序/包的流程时,应用程序类或应用程序类的任何子类在任何其他类之前实例化 完整描述是的。我只想在主菜单和其他,除了登录和Imei检查信标测距检测。所以,我只是在每个活动中声明ConnectBeacon和disconnectBeacon?除了登录和imei,因为在我的应用程序类中发生的事情是,我正在遵循一个教程并以我的算法结束,我对自己的算法感到困惑。经过你的解释,我现在有了更清晰的看法。非常感谢。