-1

好的,所以我对这些突然出现的错误感到非常生气。它只是真的我以前从未体验过它们。我在 logcat 中运行,它向我显示了在线错误,但我不知道为什么它会给出错误!

这是完整的图像:

有效的 XHTML.

这是代码:

public class MainActivity extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    {
        TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
        if("000000000000000".equals(tm.getDeviceId())) {
            Toast.makeText(this, "Emulator Worked", Toast.LENGTH_LONG).show();
        }
        else {
            Toast.makeText(this, "Emulator Failed", Toast.LENGTH_LONG).show();
        } 
    }
}

任何人都可以指出我看不到的问题吗?如果我使用“try”,我只会在 Eclipse 中弹出更多无法解释的错误。

4

2 回答 2

1

您是否声明了许可

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

在清单文件中

于 2012-10-03T03:54:13.813 回答
1

您抛出异常的原因是因为该行

TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);

onCreate()在您的应用程序调用活动的方法之前不能调用。如果您查看括号,您将看到调用在onCreate()方法之外,因此在对象实例化期间运行。更正括号,以便TelephonyManageronCreate().

换句话说:

public class MainActivity extends Activity { 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 

        TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); 
        if("000000000000000".equals(tm.getDeviceId())) { 
            Toast.makeText(this, "Emulator Worked", Toast.LENGTH_LONG).show(); 
        } 
        else { 
            Toast.makeText(this, "Emulator Failed", Toast.LENGTH_LONG).show(); 
        }  
    } 
} 
于 2012-10-03T04:15:14.880 回答