好的,所以我真的对这些突然发生的错误感到生气。它真的我从来没有经历过它们。我在logcat中运行它显示我在行上的错误,但我不知道为什么它给出了错误!
以下是完整图片:
以下是代码:
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中弹出更多无法解释的错误。
答案 0 :(得分:1)
您是否已宣布许可
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
清单文件中的
答案 1 :(得分:1)
抛出异常的原因是因为行
TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
在您的应用程序调用活动的onCreate()
方法之前,无法调用。如果查看括号,您将看到调用在onCreate()
方法之外,因此在对象实例化期间运行。更正括号,以便在TelephonyManager
内创建onCreate()
。
换句话说:
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();
}
}
}