有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java错误:在没有NFC的设备上启动活动时出现NullPointerException

我已经为NFC手机创建了一个应用程序。如果设备支持NFC,应用程序应启动一项活动,如果设备不支持NFC,则应启动另一项活动

所以,在启动时,我用它来过滤NFC和非NFC手机:

mNfc = NfcAdapter.getDefaultAdapter(this);
if (mNfc == null | !mNfc.isEnabled()) {
    Intent a = new Intent(AA.this, AB.class);
    a.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
    startActivity(a);
} else {
    Intent b = new Intent(AA.this, BB.class);
    b.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
    startActivity(b);
}

这适用于NFC手机(即使禁用了NFC)。然而,在非NFC手机上,这会导致以下例外情况:

java.lang.RuntimeException: Unable to start activity ComponentInfo{MainActivity}: java.lang.NullPointerException

出于测试目的,我在非NFC手机上做了这项测试

if (mNfc == null) {
    Toast.makeText(this, "This device doesn't support NFC.", Toast.LENGTH_LONG).show();     
}

这是毫无例外的,我看到了祝酒词


共 (0) 个答案