我制作了一个打开html文件的小应用程序。 一切正常。
今天我想添加代码以检查Internet连接,但是不幸的是,在代码出现错误之后。
我正在使用android studio。
编译后错误: 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;
}
}
答案 0 :(得分:1)
问题可能出在您的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...