尽管添加了互联网许可,但我正在使用平台默认设置"未指定网络安全配置"在我的logcat中

时间:2017-07-13 08:59:28

标签: java android android-manifest

我已将互联网权限代码添加到我的清单中,但我仍然在我的logcat中获得No Network Security Config specified, using platform default。通过我的代码我试图通过按下按钮从URL获取HTML代码,但不幸的是我的应用程序崩溃。 在这里,我正在粘贴我的清单代码:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.rekhahindwar.linksaver" >
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" >
        <activity android:name=".UrlFetcher" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

我的java类在这里 -

public class UrlFetcher extends AppCompatActivity implements View.OnClickListener {

EditText url;
Button fetch;
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initialize();
}

private void initialize() {
    url = (EditText) findViewById(R.id.url);
    fetch = (Button) findViewById(R.id.fetch);
    fetch.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    String baseurl = url.getText().toString();
    Document doc = null;
    try {
        doc = Jsoup.connect(baseurl).get();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
}

2 个答案:

答案 0 :(得分:0)

也许你的防火墙阻止连接,禁用它并再试一次,我也认为你可能需要将它添加到你的清单xml文件,因为你使用jsoup来解析一些html

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

答案 1 :(得分:0)

制作一个单独的asynctask类,如下所示。 并使用此活动从活动中调用您的异步类。

new FetchURLAsyncTask().execute();



public class FetchURLAsyncTask extends AsyncTask<Void, Void, Void> {
    @Override
    protected Void doInBackground(Void... params) {
        StringBuffer buffer = new StringBuffer();
        try {
            Document doc = Jsoup.connect("https://www.google.co.in").get();
            String title = doc.title();
            System.out.println("Url !!!! " + title);
        }
        catch(Throwable t) {
            t.printStackTrace();
        }
        return null;
    }
}