标签: android-networking

通过编程方式实现以太网连接(Android)(Root设备)

我有一个关于以太网的小问题.

我的三个问题是:

  1. 我们可以通过编程方式开启/关闭Ethernet吗?

  2. 我们可以编程启用/禁用Ethernet吗?

  3. 我们能以编程方式连接Ethernet吗?

上述问题是通过以下方式完成的Wifi.喜欢

  1. 我们可以通过编程方式开启/关闭Wifi.

  2. 我们可以通过编程方式启用/禁用Wifi.

  3. 我们可以通过编程连接Wifi使用WifiManager.

android是否提供任何EthernetManager类似WifiManager处理Ethernet

或者,如果这似乎不可行,那么我原来的要求是:

我要澄清的第一件事是"设备已经生根".

我可以操作设置(默认)吗?就像我不希望Settings.apk除了WIFI和之外的任何其他选项Ethernet.它应该只显示WifiEthernet.而已.我可以从"设置"中禁用所有选项,还是可以从"设置"中删除所有其他选项?

android ethernet android-networking

19
推荐指数
3
解决办法
2万
查看次数

Android Volley MalformedURLException错误的URL

在使用第二个网络请求后Volley,我总是收到此错误.我输入的网址是什么似乎并不重要. Volley总是声称它是畸形的.

08-04 20:16:26.885  14453-14470/com.thredup.android E/Volley? [994] NetworkDispatcher.run: Unhandled exception java.lang.RuntimeException: Bad URL
java.lang.RuntimeException: Bad URL
        at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:127)
        at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:110)
 Caused by: java.net.MalformedURLException: Protocol not found:
        at java.net.URL.<init>(URL.java:176)
        at java.net.URL.<init>(URL.java:125)
        at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:101)
        at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:93)
Run Code Online (Sandbox Code Playgroud)

进一步调查,我在HurlStack中放了几个日志.在

public HttpResponse performRequest(Request<?> request, Map<String, String> additionalHeaders),
Run Code Online (Sandbox Code Playgroud)

失败的请求是REQUEST [ ] 0x0 LOW 26."

因此,HurlStack的第101行: URL parsedUrl = new URL(url);

以空URL(request.getUrl()为空)失败.

我正在使用OkHttpStack(扩展HurlStack).关于可能导致这种情况的任何想法?

android android-networking android-volley okhttp

19
推荐指数
2
解决办法
2万
查看次数

为什么HttpUrlConnection在移动数据连接上抛出SSLException?

当使用Android的HttpUrlConnection库发出HTTPS请求时,我有时会看到抛出以下异常:

javax.net.ssl.SSLException: SSL handshake aborted: ssl=0x5c1b18a0: I/O error during system call, Connection reset by peer
at org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_do_handshake(Native Method)
at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:395)
...
Run Code Online (Sandbox Code Playgroud)

在深入研究这个问题之后,我已经了解到了这一点

  • 无线网络上一切正常
  • 仅当设备处于移动数据连接时才会抛出异常
  • 在首先通过wifi进行HTTPS之后,通过移动数据进行连接往往会在一段时间内正常工作
  • 问题似乎发生在少数特定的移动运营商身上

可能会发生什么?某些移动运营商是否会干扰HTTPS流量?

java ssl android android-networking

18
推荐指数
1
解决办法
2万
查看次数

android如何获取指示何时互联网连接丢失?

我正在开发一个Android应用程序,我希望在互联网(wifi或分组数据连接)连接丢失时收到通知.在我的方法中,我可以获得连接的状态:

private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager 
      = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
Run Code Online (Sandbox Code Playgroud)

在Manifest中有这个:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Run Code Online (Sandbox Code Playgroud)

如何在连接丢失时自动通知我?

android android-networking android-internet

18
推荐指数
2
解决办法
1万
查看次数

Android排球 - 方向变化

我们如何处理方向更改,Activities/ Fragments停止/恢复使用Volley

我知道对于GET请求,响应将被缓存,第二次我们尝试发出请求时,我们将获得缓存响应.(如果服务器发送正确的HTTP头)

但那怎么样POST?假设我发出POST请求(即注册,我想只发生一次),我的应用程序转到后台,请求在应用程序仍在后台时完成,然后我回到应用程序.如果它仍处于待处理状态,我该如何获得ResponseRequest,或者如何重新连接它?

AFAIK对此几乎没有任何支持Volley.我对吗?有没有一种简单的方法来解决上述情况,使用Volley

android android-networking android-volley

17
推荐指数
1
解决办法
6393
查看次数

广场`s OkHttp.下载进度

使用square`s OkHttp时有没有办法下载文件进度?

我没有在食谱中找到任何解决方案.

他们有类Call可以异步获取内容,但是没有方法可以获得当前的进展.

android android-networking okhttp

17
推荐指数
2
解决办法
1万
查看次数

OKhttp PUT示例

我的要求是使用PUT,发送标题和正文到服务器,它将更新数据库中的内容.

我刚刚阅读了okHttp文档,我试图使用他们的POST示例,但它不适用于我的用例(我认为这可能是因为服务器要求我使用PUT而不是POST).

这是我的方法POST:

 public void postRequestWithHeaderAndBody(String url, String header, String jsonBody) {


        MediaType JSON = MediaType.parse("application/json; charset=utf-8");
        RequestBody body = RequestBody.create(JSON, jsonBody);

        OkHttpClient client = new OkHttpClient();

        Request request = new Request.Builder()
                .url(url)
                .post(body)
                .addHeader("Authorization", header)
                .build();

        makeCall(client, request);
    }
Run Code Online (Sandbox Code Playgroud)

我试图搜索okHttp示例使用PUT没有成功,如果我需要使用PUT方法是否还有使用okHttp?

我正在使用okhttp:2.4.0(以防万一),感谢任何帮助!

android android-networking androidhttpclient retrofit okhttp

17
推荐指数
2
解决办法
1万
查看次数

CONNECTIVITY_CHANGE在Android N的目标中已弃用

我收到广播接收器的弃用声明的警告.

<!-- NETWORK RECEIVER... -->
<receiver android:name=".utils.NetworkUtils" >
    <intent-filter>
        <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
    </intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

警告:

对于面向N及更高版本的应用,不推荐为android.net.conn.CONNECTIVITY_CHANGE声明广播接收器.通常,应用程序不应该依赖此广播,而应使用JobScheduler或GCMNetworkManager.

没有弃用的方法有没有其他方法可以使用它?

android deprecated intentfilter broadcastreceiver android-networking

16
推荐指数
2
解决办法
1万
查看次数

Retrofit 2无法上传带有两个额外字符串参数的文件

在问题的底部阅读编辑以寻找可能的替代解决方案,直到找到解决方案.

这是一个成功的帖子文件,其中包含两个使用POSTMan的参数.我试图通过改造来做同样的事但收到BadRequest.

邮差设置:

在此输入图像描述

Chrome网络帖子详情: 在此输入图像描述

现在我在Android中如何做到这一点但失败了:

改造服务接口:

@Multipart
@POST("jobDocuments/upload")
Call<ResponseBody> upload(@Part("file") MultipartBody.Part file,@Part("folder") MultipartBody.Part folder,@Part("name") MultipartBody.Part name);
Run Code Online (Sandbox Code Playgroud)

这是我的@Background方法,用于生成上述服务来运行网络请求

CustDataClient service =
            ServiceGenerator.createService(CustDataClient.class);
    File file = new File(fileUri.getPath());
    // create RequestBody instance from file
    RequestBody requestFile =
            RequestBody.create(MediaType.parse("multipart/form-data"), file);

    MultipartBody.Part fileData =
            MultipartBody.Part.createFormData("file", fileName, requestFile);
    MultipartBody.Part folder =
            MultipartBody.Part.createFormData("folder", "LeadDocuments");
    MultipartBody.Part name =
            MultipartBody.Part.createFormData("name", fileName);
    // finally, execute the request
    Call<ResponseBody> call = service.upload(fileData,folder,name);
    try {
        Response<ResponseBody> rr = call.execute();
        ResponseBody empJobDocsResult = rr.body();//Bad Request here :(
        Log.v("Upload", "success");
    } catch …
Run Code Online (Sandbox Code Playgroud)

android file-upload android-networking retrofit retrofit2

15
推荐指数
3
解决办法
2万
查看次数

Retrofit获取String响应

是否可以使用Retrofit库仅接收String响应?我有一种情况,我需要在我的链接上添加查询,以便链接看起来像:localhost // Register?handle = SomeID

SomeID是整数,当我这样做时,我将以字符串格式从服务器接收包含20个字符的响应.我怎样才能得到答复?Can Retrofit甚至可以处理不是Json格式的响应吗?

另外我应该如何创建:

@GET("/ api/UserMainInformations")调用getUserMainInfo();

这是其他一些调用的例子,但现在我没有任何模型可以发送它因为我只在Query上添加它.我应该在Call <>中放什么

android android-networking retrofit

15
推荐指数
2
解决办法
2万
查看次数