首页 > 解决方案 > Error android compile - 启动活动时出错

问题描述

我做了一个打开 html 文件的小应用程序。一切正常。

今天我想添加一个代码来检查互联网连接,不幸的是,在代码之后我有一个错误。

我正在使用一个安卓工作室。

编译后错误:02/12 21:03:08:启动应用程序无法识别启动活动:未找到默认活动启动活动时出错

代码 MainActivity.java:

    package pl.mgraphic.myapplication;

import android.net.ConnectivityManager;
import android.net.Network;
import android.net.NetworkInfo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebView;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    WebView myBrowser;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        myBrowser = (WebView)findViewById(R.id.mybrowser);
        myBrowser.loadUrl("file:///android_asset/test.html");

        if(haveNetwork())
        {

        }
        else if (!haveNetwork())
        {
            Toast.makeText( MainActivity.this, "Please connect NETWORK!",Toast.LENGTH_SHORT).show();
        }

    }
    private boolean haveNetwork() {
        boolean have_WIFI = false;
        boolean have_MobileData = false;

        ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);

        NetworkInfo[] networkInfos = connectivityManager.getAllNetworkInfo();

        for (NetworkInfo info : networkInfos) {
            if (info.getTypeName().equalsIgnoreCase("WIFI"))
                if (info.isConnected())
                    have_WIFI = true;
            if (info.getTypeName().equalsIgnoreCase("MobileData"))
                if (info.isConnected())
                    have_MobileData = true;
        }
        return have_MobileData || have_WIFI;
    }
}

标签: android

解决方案


问题可能出在您的AndroidManifest.xml文件中。

intent-filters检查您的Activity声明中是否存在这些内容。

<intent-filter>
    <action android:name="android.intent.action.MAIN"/>
    <category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>

如果有此信息,则可能发生了一些缓存问题。然后,试试这个:

File -> Invalidate Caches / Restart...

推荐阅读