我正在开发一个Android应用程序,它将每30秒检索一次数据并发送到服务器,因此移动互联网是必要的.
目前,我正在使用GPS,但我也想使用网络提供商(wifi和手机信号塔).
但我的问题是android如何通过wifi检索位置信息?如果可以从wifi检索位置,那么可以从我的移动互联网本身检索它吗?
如果没有那么为什么?如果是,那么请告诉我一些代码片段,以便从移动互联网上检索位置更新,还有什么可以达到近似准确度?我需要精度在100米以内.
我跟着这些并得到了这个怀疑http://developer.android.com/guide/topics/location/strategies.html Android应用程序是否能够从连接的WiFi热点AP检索位置信息?
我只需要下载图像,但问题是图像损坏了!我找到了许多下载图像的方法,但仍然出现了这个问题.
我尝试这样做:
File path = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES);
File file2 = new File(path,"DemoPictureX.png");
InputStream is=(InputStream) new URL("http://androidsaveitem.appspot.com/downloadjpg").getContent();
OutputStream os = new FileOutputStream(file2);
byte[] data = new byte[is.available()];
is.read(data);
os.write(data);
is.close();
os.close();
我认为它只是阅读图像中的一些行!
我正在使用intent服务与服务器通信以获取应用程序的数据.在应用程序尝试访问或使用数据存储的变量之前,我希望应用程序等待它请求的数据被发回(希望意味着已请求数据的IntentService已经完成运行)我该怎么做呢?谢谢!
rest android android-internet intentservice android-async-http
我正在开发我的第一个android wear应用程序,我正在向一个请求api,问题是我没有互联网连接.我如何启用互联网连接或类似的东西?
到目前为止,我所尝试的是启用蓝牙连接,但每次我点击那里我得到以下错误不幸的是,设置已停止.
任何想法如何解决它?
注意:下面是我的虚拟机详细信息:
编辑 为了确保互联网连接不起作用,我尝试了以下代码:
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo ni = cm.getActiveNetworkInfo();
        if (ni == null) {
            // There are no active networks.
            return false;
        } else
            return true;
我发现了很多如何检查互联网访问的主题。但我不明白如何动态地制作它。例如,我发送一个请求(它将在另一个线程中工作)并且设备失去互联网连接。我如何取消对此活动的请求?
Heya - 我试图从一个在onPostExecute()中扩展AsyncTask的类调用startActivity().
这是流程:
扩展AsyncTask的类:
protected void onPostExecute() {
    Login login = new Login();
    login.pushCreateNewOrChooseExistingFormActivity();
}
扩展Activity的类:
public void pushCreateNewOrChooseExistingFormActivity() {
    // start the CreateNewOrChooseExistingForm Activity
    Intent intent = new Intent(Intent.ACTION_VIEW);
    **ERROR_HERE*** intent.setClassName(this, CreateNewOrChooseExistingForm.class.getName());
    startActivity(intent);
}
我每次都会收到这个错误:
03-17 16:04:29.579: ERROR/AndroidRuntime(1503): FATAL EXCEPTION: main
03-17 16:04:29.579: ERROR/AndroidRuntime(1503): java.lang.NullPointerException
03-17 16:04:29.579: ERROR/AndroidRuntime(1503): at android.content.ContextWrapper.getPackageName(ContextWrapper.java:120)
03-17 16:04:29.579: ERROR/AndroidRuntime(1503): at android.content.ComponentName.(ComponentName.java:62)
03-17 16:04:29.579: ERROR/AndroidRuntime(1503): at android.content.Intent.setClassName(Intent.java:4850)
03-17 16:04:29.579: ERROR/AndroidRuntime(1503): at com.att.AppName.Login.pushCreateNewOrChooseExistingFormActivity(Login.java:47)
对于iOS开发人员 - 我只是想把一个新的视图控制器推到一个导航控制器的堆栈上pushViewController:animated:.显然 - 在这个平台上很难做到.
有任何想法吗?提前致谢!
更新 - 固定:
根据@Falmarri的建议,我设法解决了这个问题.
首先,我不再打电话 …
我想在未连接互联网时从缓存加载网站.以下是我在onCreate中设置webview的方法:
    browse.getSettings().setJavaScriptEnabled(true);
    browse.getSettings().setPluginsEnabled(true);
    browse.getSettings().setLoadWithOverviewMode(true);
    browse.getSettings().setUseWideViewPort(true);
    browse.getSettings().setBuiltInZoomControls(true);
    browse.getSettings().setSupportZoom(true);
    browse.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
    browse.setScrollbarFadingEnabled(true);
    browse.getSettings().setLoadsImagesAutomatically(true);
    browse.getSettings().setAppCacheMaxSize(1024 * 1024 * 100);
    browse.getSettings().setAppCacheEnabled(true);
    if (cm.getActiveNetworkInfo().isConnected())
        browse.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
    else
        browse.getSettings().setCacheMode(
                WebSettings.LOAD_CACHE_ELSE_NETWORK);
    browse.setWebViewClient(new WebViewClient() {
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            // TODO Auto-generated method stub
            super.onPageStarted(view, url, favicon);
            t.setVisibility(TextView.VISIBLE);
        }
        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            t.setVisibility(TextView.GONE);
        }
    });
    try {
        browse.loadUrl(address);
    } catch (Exception e) {
        e.printStackTrace();
    }
这是我正在关注的教程,即使浏览器重新启动,我也在尝试加载以前访问过的网页.不行!请帮我.
PS:我在SO上搜索了所有相关代码,但没有一个有效.
我知道这个问题之前已经被问过并回答过,但我用于10.0.2.2模拟器。我听说我必须为我的真实设备使用其他东西。有人能告诉我那是什么吗?我可以让它们都运行1URL 吗?而不是为模拟器和实际设备准备一个。
应用名称是:ThreadingNoThreading
有缺陷的类名:threading.java
我的是一个简单的程序.这个特殊的类有两个按钮.一到吐司和另一个从互联网下载图像并在图像视图中设置它.使用AsyncTask进行线程处理.
当我在我的MOTO E上运行该程序时,它会抛出一个运行时异常,声明它需要INTERNET权限,我已经提供了.似乎我错过了成功运行此应用程序的一部分谜题.
注意:通过连接到WIFI的笔记本电脑调试此应用程序,因此我在笔记本电脑上禁用了我的LAN卡.(正如我所读,Android系统将LAN CARD视为主要连接)
如果我遗漏任何东西,请帮助我理解.
以下是我的课程: Threading.java
package android.dreamtechprojects.threadingnothreading;
import android.annotation.TargetApi;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
/**
 * Created by Sony on 18-08-2015.
 */
public class Threading extends Activity {
    Button threadingToastButton, threadingImageViewButton;
    ImageView threadingImageView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_for_threading);
        threadingImageView = (ImageView) findViewById(R.id.threadingImageView);
        threadingImageViewButton = (Button) …我之所以宣布<user-permission android:name="android.permission.INTERNET" />,是AndroidManifest因为我认为这是获得用户许可的首选方法。
但是我得到了这个警告:"Element user-permission not allowed here" 
通过快速的Google搜索,我无法弄清楚问题所在或最佳实践是什么。
我正在使用SDK 21及更高版本。
android ×10
android-internet ×10
android-wifi ×2
emulation ×1
gps ×1
localhost ×1
rest ×1
url ×1
wear-os ×1