我正在尝试注册一个将BroadcastReceiver扩展为Android清单中的接收器的类.我可以轻松注册它们,但问题是因为类没有空构造函数.
TLDR; 如何实现一个广播接收器的类(需要空构造函数在android清单中注册它),但同时,是一个单例类或一个拒绝用户访问默认构造函数的类.(我已经尝试使默认构造函数受到保护,但由于清单无法注册接收器,因此无法解决问题)
我的应用程序的目的是根据我连接的网络限制操作。我选择通过接入点的 mac 地址或 BSSID 来定义网络。我正在使用 WifiInto 的 getConnectionInfo() 和 getBSSID() 来获取接入点的 BSSID。
我的印象是 BSSID 对于接入点来说是唯一的。但是,在不同的设备上,我得到的 BSSID 略有不同(后 4 位数字不同,但前 8 位数字相同)。即使在同一设备中,在连接时,BSSID 也可能略有不同。
我的问题是,有没有办法可靠地唯一标识接入点?人们告诉我 MAC 地址是唯一的方法,但正如您在此处看到的,返回的 BSSID 略有不同。
我是 Spring 的初学者,开始了解 Bean 的工作原理。我想将第 3 方类声明为服务或 Bean。我该怎么做呢?我应该扩展课程并对其进行注释吗?
例子:
@Service
public class MyService { public MyService(ThirdPartyClass thirdPartyClass){..}....}
在这里我无法将 ThirdPartyClass 注释为服务或其他
我将多个@Bean方法放在一个@SpringBootApplication类中以创建所需的bean。它们全部运行,除了一个。该Bean方法永远不会运行,因此,相应的类(被标注为Service)会抱怨异常:org.springframework.beans.factory.NoSuchBeanDefinitionException
任何原因导致一个Bean方法无法运行而同一个类中的其他方法却无法运行?
在consulService确实被调用时,永远不会调用Application.java中的haProxyService方法。
// Application.java:
@SpringBootApplication
public class Application {
//Config for services
//Consul
String consulPath = "/usr/local/bin/com.thomas.Oo.consul.consul";
String consulConfPath = "/root/Documents/consulProto/web.json";
//HAProxy
String haproxyPath = "/usr/local/bin/haproxy";
String haproxyConfFilePath = "/root/Documents/consulProto/haproxy.conf";
public static void main(String[] args){
SpringApplication.run(Application.class, args);
}
@Bean
public ConsulService consulService(){
return new ConsulService(consulPath, consulConfPath);
}
@Bean
public HAProxyService haProxyService(){
return new HAProxyService(haproxyPath, haproxyConfFilePath);
}
}
// ConsulService.java
@Service
public class ConsulService extends BaseService {
String executablePath;
String confFilePath;
public ConsulService(String consulPath, String …Run Code Online (Sandbox Code Playgroud) android ×2
spring ×2
spring-boot ×2
bssid ×1
constructor ×1
java ×1
mac-address ×1
router ×1
wifi ×1