android - 应用程序在没有互联网的情况下崩溃

标签 android android-internet

在这里,基本上我所做的就是检查连接是否可用。如果连接不可用,我将重定向到另一个 Activity 。仅此而已。但它一直在崩溃。

Intent i;
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
     i = new Intent(Jsouptesting3Activity.this, NoInternet.class);
    Jsouptesting3Activity ob1=new Jsouptesting3Activity();
    ob1.isDataConnectionAvailable(this);
    try {
        doc = Jsoup.connect("http://www.way2franchise.com/").get();

        //System.out.println(doc);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        System.out.println("cant connect");
        e.printStackTrace();


public  void isDataConnectionAvailable(Context context){
    ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo info = connectivityManager.getActiveNetworkInfo();
    if(info == null)
    {
        System.out.println("No net bob");
         i = new Intent(Jsouptesting3Activity.this, NoInternet.class);
        startActivity(i);

    }
    System.out.println("YES net bob");

当程序执行时,我正在调用 isDataConnectionAvailable() 并且我没有可用的连接。因此根据逻辑,它必须被重定向并且 NoInternet Activity 应该打开。
我错过了吗有什么严重的吗?
请帮忙。

日志堆栈

Thread [<1> main] (Suspended (exception RuntimeException))  
ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 1659    
ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 1675 
ActivityThread.access$1500(ActivityThread, ActivityThread$ActivityClientRecord, Intent) line: 121   
ActivityThread$H.handleMessage(Message) line: 943   
ActivityThread$H(Handler).dispatchMessage(Message) line: 99 
Looper.loop() line: 130 
ActivityThread.main(String[]) line: 3701    
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]  
Method.invoke(Object, Object...) line: 507  
ZygoteInit$MethodAndArgsCaller.run() line: 866  
ZygoteInit.main(String[]) line: 624 
NativeStart.main(String[]) line: not available [native method]  

最佳答案

检查 isDataConnectionAvailable() 作为构造 if (isDataConnectionAvailable())

 Jsouptesting3Activity ob1=new Jsouptesting3Activity();
   if( ob1.isDataConnectionAvailable(this))
{
    try {
        doc = Jsoup.connect("http://www.way2franchise.com/").get();

        //System.out.println(doc);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        System.out.println("JSON Error");
        e.printStackTrace();
}
else
{
    System.out.println("cant connect");
}

关于android - 应用程序在没有互联网的情况下崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15809778/

相关文章:

java - 如何不再加载所有 ListView 项目?

android - 从 sqlite 数据库在 android 应用程序中显示特殊字符

android - 在多个布局文件-android 上应用 recyclerView 适配器

android - Android 模拟器无法访问互联网,共享互联网连接

android - 如何检查移动数据是否实际处于 Activity 状态或 wifi 是否实际连接到任何热点?

android - 使用改造时如何处理 java.net.UnknownHostException

java - 如何在 android 小部件 EditText 中添加水印?

java - Dagger:POJO 中的字段注入(inject)

android - 在实例方法内部调用 startActivity() - 导致 NullPointerException