我需要接收网络连接的广播,如网络连接,断开连接等.我正在使用广播接收器.任何人都可以告诉我我需要捕获哪些针对网络事件的意图行动,现在根据我在互联网上的搜索,我使用的是android.net.ConnectivityManager.CONNECTIVITY_ACTION.
这是我的广播接收器类:
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class NetworkStateReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if (intent.getAction().equals(
android.net.ConnectivityManager.CONNECTIVITY_ACTION)) {
// do something..
}
}
}
Run Code Online (Sandbox Code Playgroud)
我还添加了访问网络状态的权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Run Code Online (Sandbox Code Playgroud)
这是我在清单文件中声明此类的方法
<receiver class=".NetworkStateReceiver" android:name=".NetworkStateReceiver">
<intent-filter>
<action android:name="android.net.ConnectivityManager.CONNECTIVITY_ACTION" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
如果我错了或者有任何其他方式来捕获网络事件,请建议我正确的意图行动.
我想在android中以编程方式更改屏幕亮度.目前我使用此代码:
WindowManager.LayoutParams lp = getWindow().getAttributes();
float brightness=1.0f;
lp.screenBrightness = brightness;
getWindow().setAttributes(lp);
Run Code Online (Sandbox Code Playgroud)
但是这个示例代码适用于蛋糕,而不是最新版本.我使用的是最新版本的SDK.对于较新的Android版本,首选解决方案是什么?
我一直在玩Socket.io,node.js和WebSockets,所有这些都可以通过wifi连接正常工作.
但是,当我通过3G连接(例如我的iPhone)测试启用WebSocket的应用程序时,似乎回到长轮询是唯一可行的解决方案.
使用Socket.io连接失败,"WebSocket连接无效或Origin未验证",然后再回到长轮询.
我不知道WebSockets是否可以通过3G工作 - 有没有人成功让他们这样工作?我已经尝试了许多不同的方法,而且一切似乎都失败了,这让我觉得我正在尝试不可能的事情.
如何用Asynctask替换以下代码行?你如何从Asynctask"取回"位图?谢谢.
ImageView mChart = (ImageView) findViewById(R.id.Chart);
String URL = "http://www...anything ...";
mChart.setImageBitmap(download_Image(URL));
public static Bitmap download_Image(String url) {
//---------------------------------------------------
Bitmap bm = null;
try {
URL aURL = new URL(url);
URLConnection conn = aURL.openConnection();
conn.connect();
InputStream is = conn.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
bm = BitmapFactory.decodeStream(bis);
bis.close();
is.close();
} catch (IOException e) {
Log.e("Hub","Error getting the image from server : " + e.getMessage().toString());
}
return bm;
//---------------------------------------------------
}
Run Code Online (Sandbox Code Playgroud)
我想过这样的事情:
替换:
mChart.setImageBitmap(download_Image(graph_URL));
Run Code Online (Sandbox Code Playgroud)
通过类似的东西:
mChart.setImageBitmap(new DownloadImagesTask().execute(graph_URL));
Run Code Online (Sandbox Code Playgroud)
和
public class DownloadImagesTask extends …Run Code Online (Sandbox Code Playgroud) 我使用cmake生成的makefile来编译依赖于boost文件系统库的c ++文件.
在链接过程中,我收到以下错误:
Undefined symbols:
"boost::system::get_generic_category()", referenced from:
__static_initialization_and_destruction_0(int, int)in FaceRecognizer.cpp.o
__static_initialization_and_destruction_0(int, int)in FaceRecognizer.cpp.o
__static_initialization_and_destruction_0(int, int)in FaceRecognizer.cpp.o
"boost::system::get_system_category()", referenced from:
__static_initialization_and_destruction_0(int, int)in FaceRecognizer.cpp.o
__static_initialization_and_destruction_0(int, int)in FaceRecognizer.cpp.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[2]: *** [src/ImageMarker] Error 1
生成此错误的makefile中的操作是以下行:
cd /Users/janusz/Documents/workspace/ImageMarker/Debug/src && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/ImageMarker.dir/link.txt --verbose=1 /usr/bin/c++ -O3 -Wall -Wno-deprecated -g -verbose -Wl,-search_paths_first -headerpad_max_install_names -fPIC CMakeFiles/ImageMarker.dir/ImageMarker.cpp.o CMakeFiles/ImageMarker.dir/Image.cpp.o CMakeFiles/ImageMarker.dir/utils.cpp.o CMakeFiles/ImageMarker.dir/XMLWriter.cpp.o CMakeFiles/ImageMarker.dir/FaceRecognizer.cpp.o -o ImageMarker -L/opt/local/lib ../libTinyXml.a /opt/local/lib/libboost_filesystem-mt.dylib
一些谷歌搜索告诉我,这个错误似乎在使用boost文件系统库的mac上很常见,因为我必须链接到boost.system库或根据boost.system库创建我的项目.
如何在没有硬编码库路径的情况下强制cmake链接到库?
这是otool的结果:
otool -L /opt/local/lib/libboost_filesystem-mt.dylib
/opt/local/lib/libboost_filesystem-mt.dylib:
/opt/local/lib/libboost_filesystem-mt.dylib (compatibility version 0.0.0, …Run Code Online (Sandbox Code Playgroud) 我确信Wave不会每毫秒轮询一次服务器,以确定其他用户是否输入了某些东西......那么我怎样才能看到对方输入的内容?而且不会占用带宽.
我知道这仍然是一个悬而未决的问题所以我不希望在这里看到完整的答案.我只是想找到一些方法来解决下一个问题:
我有一个模型(假设是机器人的记忆),不同的单词与模型中的不同对象相关联.使用机器人就像使用DB执行sql-queries一样.语言是一种非常难以形式化的协议.我们不能只写一百万行代码来实现一些真正的语言.但我相信实施一些自学机制绝对是可能的.如何实施?是否可以"从头开始"或"从几个基本单词"实施学习?只是想听听你的想法.
实际上,英语是一种非常严格的语言,它是用于试验AI的最简单的语言之一.许多其他语言允许您更改单词的顺序(例如).在某些情况下,改变顺序可以改变整个意义或只是添加一些语调.我真的没有任何想法如何教这些东西的机器人.
在Android 2.3及更低版本中,您可以全屏显示应用程序,然后通过返回false onKeyDown()来"劫持"菜单/返回/搜索按钮...并将应用程序注册为默认的主启动器应用程序,这样,没有办法退出应用程序.
在Android 3.0(Honeycomb)中,导航按钮(系统栏)始终存在,我想隐藏它.可能吗?
仅供参考,我不会在Android Market上发布此应用程序.这是将在内部使用的设备的内部应用程序,我需要保护设备.
我使用适用于Android的Google Maps Api Version 2将MapFragment添加到我的应用程序中.
这个片段在速度和API可用性方面有很大改进.可悲的是,它还允许用双指手势旋转地图.我想禁用旋转,因为通常会识别这两个手指手势而不是缩放手势.
如何禁用地图旋转?
是否可以将支持Renderscript库与Gradle 一起使用?如果是这样,你如何将它包含在你的项目中?
android ×6
3g ×1
boost ×1
c++ ×1
chatbot ×1
cmake ×1
google-maps ×1
google-wave ×1
gradle ×1
gwt ×1
html5 ×1
http ×1
intentfilter ×1
iphone ×1
linker ×1
macos ×1
mapfragment ×1
node.js ×1
renderscript ×1
socket.io ×1
websocket ×1