我试图获得当前wifi连接的信号强度 getRssi()
private void checkWifi(){
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo Info = cm.getActiveNetworkInfo();
if (Info == null || !Info.isConnectedOrConnecting()) {
Log.i("WIFI CONNECTION", "No connection");
} else {
int netType = Info.getType();
int netSubtype = Info.getSubtype();
if (netType == ConnectivityManager.TYPE_WIFI) {
wifiManager = (WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE);
int linkSpeed = wifiManager.getConnectionInfo().getLinkSpeed();
int rssi = wifiManager.getConnectionInfo().getRssi();
Log.i("WIFI CONNECTION", "Wifi connection speed: "+linkSpeed + " rssi: "+rssi);
//Need to get wifi strength
}
}
}
Run Code Online (Sandbox Code Playgroud)
事情是我得到像-35或-47等数字...我不明白他们的价值观..我已经看了android文档及其所有状态:
public int getRssi()
从以下版本开始:API Level 1返回当前802.11网络的接收信号强度指示符.
这不是规范化的,但应该是!
返回RSSI,范围是??? 至 …
这是我在设备上安装应用程序时看到的内容(我使用的是Android Studio 0.8.2):
Waiting for device.
Target device: samsung-gt_s7500-cf994b04
Uploading file
local path: C:\Users\Administrator\AndroidStudioProjects\Testaqua\app\build\outputs\apk\app-debug.apk
remote path: /data/local/tmp/com.example.administrator.testaqua
Installing com.example.administrator.testaqua
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.example.administrator.testaqua"
pkg: /data/local/tmp/com.example.administrator.testaqua
Failure [INSTALL_FAILED_INVALID_URI]
Run Code Online (Sandbox Code Playgroud)
七个地狱中的错误是什么意思?
[编辑]我在另一个root设备上安装了我的应用程序,它运行良好; 看来问题是我的设备,android studio运行正常.
我只是将log4j集成到我的应用程序中,并且我将AspectJ设置为使用log4j并最终将所有日志记录从我的主代码中传出.因此,简而言之,我正在设置执行日志条目的方面,然后在短时间内运行我的程序来测试它们.
通常,在这些短期运行期间,我遇到以下异常:
2015-09-28 15:21:48,222 Thread-4 FATAL Unable to register shutdown hook because JVM is shutting down. java.lang.IllegalStateException: Cannot add new shutdown hook as this is not started. Current state: STOPPED
at org.apache.logging.log4j.core.util.DefaultShutdownCallbackRegistry.addShutdownCallback(DefaultShutdownCallbackRegistry.java:113)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.addShutdownCallback(Log4jContextFactory.java:271)
at org.apache.logging.log4j.core.LoggerContext.setUpShutdownHook(LoggerContext.java:240)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:201)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:233)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:41)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:162)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:507)
at org.jboss.logging.Log4j2Logger.<init>(Log4j2Logger.java:36)
at org.jboss.logging.Log4j2LoggerProvider.getLogger(Log4j2LoggerProvider.java:30)
at org.jboss.logging.Log4j2LoggerProvider.getLogger(Log4j2LoggerProvider.java:26)
at org.jboss.logging.Logger.getLogger(Logger.java:2465)
at org.jboss.logging.Logger$1.run(Logger.java:2565)
at java.security.AccessController.doPrivileged(Native Method)
at org.jboss.logging.Logger.getMessageLogger(Logger.java:2529)
at org.jboss.logging.Logger.getMessageLogger(Logger.java:2516)
at org.hibernate.internal.CoreLogging.messageLogger(CoreLogging.java:28)
at org.hibernate.internal.CoreLogging.messageLogger(CoreLogging.java:24)
at org.hibernate.event.internal.ReattachVisitor.<clinit>(ReattachVisitor.java:27)
at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.performUpdate(DefaultSaveOrUpdateEventListener.java:293)
at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsDetached(DefaultSaveOrUpdateEventListener.java:227)
at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:92)
at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:73)
at org.hibernate.internal.SessionImpl.fireSaveOrUpdate(SessionImpl.java:647)
at …Run Code Online (Sandbox Code Playgroud) 我在 Jenkins 中创建了一个新视图(选项卡)。它是在页面最右侧创建的,我希望将其移至左侧。我到处搜索,找不到怎么做。感谢您的帮助。
我在一个xml布局中有两个SearchView:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<SearchView
android:id="@+id/my_first_custom_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</SearchView>
<SearchView
android:id="@+id/my_second_custom_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/my_first_custom_view" >
</SearchView>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
我通过setContentView()将此布局扩展到我的MainActivity.然后我为彼此调用方法setQuery().
在屏幕旋转之前一切正常.当我旋转屏幕时,每个searchView都有文本"World"而不是"Hello"和"World".
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SearchView firstSearchView = (SearchView) findViewById(R.id.my_first_custom_view);
SearchView secondSearchView = (SearchView) findViewById(R.id.my_second_custom_view);
firstSearchView.setQuery("Hello!", false);
secondSearchView.setQuery("World", false);
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以解释出了什么问题吗?
我想用Maven替换提供的Ant构建.我知道(但没有使用过)蚂蚁跑,我也不愿意.
简而言之,NetSuite提供了一个wsdl,用于在进行Web服务调用时再次使用其ERP产品,我目前使用他们提供的ant构建来从wsdl生成代理类.(此处提供示例应用,wsdl和修补轴)
我遇到的问题是ant任务使用了修补的轴1.4(以及支持库,其中有几个是〜7年),我想使用中央maven仓库中可以获得的库来实现这个wsdl,最好是电流.
任何人都可以指出我需要研究一个有效的解决方案吗?
对于任何需要知道的人:我尝试使用axis2进行生成,并抛出以下异常:
timeException: Element QName is null for ExceededRequestSizeFault!
at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:293)
at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24)
Caused by: org.apache.axis2.wsdl.codegen.CodeGenerationException: java.lang.RuntimeException: Element QName is null for ExceededRequestSizeFault!
at org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.emitSkeleton(AxisServiceBasedMultiLanguageEmitter.java:1451)
at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:275)
... 2 more
Caused by: java.lang.RuntimeException: Element QName is null for ExceededRequestSizeFault!
at org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.getFaultParamElements(AxisServiceBasedMultiLanguageEmitter.java:
2925)
at org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.getFaultElement(AxisServiceBasedMultiLanguageEmitter.java:2844)
at org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.generateMethodElement(AxisServiceBasedMultiLanguageEmitter.java:
2366)
at org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.loadOperations(AxisServiceBasedMultiLanguageEmitter.java:2242)
at org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.createDOMDocumentForSkeleton(AxisServiceBasedMultiLanguageEmitte
r.java:2156)
at org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.writeSkeleton(AxisServiceBasedMultiLanguageEmitter.java:2082)
at org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.emitSkeleton(AxisServiceBasedMultiLanguageEmitter.java:1408)
... 3 more
Run Code Online (Sandbox Code Playgroud)
如果它是具有最新NetSuite WSDL的经过测试的解决方案,则可获得奖励.
我正在使用knox nodejs-library在我的webapp(nodejs)上生成签名的URL.然而,问题出现了,对于每个请求,我需要为当前用户重新生成一个唯一的GET签名URL,从而使浏览器的缓存控制不在游戏中.
我搜索网络没有成功,因为浏览器似乎使用完整的URL作为缓存密钥所以我真的很好奇我怎么能在给定的情况下(nodejs,knox库)解决问题并使用缓存控制,同时仍然能够为每个请求生成签名的URL,因为我需要验证用户的访问权限.
我无法相信没有解决方案.
我需要以编程方式更改屏幕亮度.我读过这样的多个解决方案无法在Android中以编程方式应用系统屏幕亮度.
我的问题是,这些解决方案意味着将活动更改为有效(有一个虚拟活动立即完成),我想避免活动开关的开销.
有没有其他解决方案...可能使用本机代码,以便屏幕亮度会立即改变?
......据我了解,他们做同样的事情:提供对Amazon Web Services的访问.有人可以提供这两个库之间不同功能的列表吗?如果亚马逊已经提供产品,为什么还存在knox?