我在我的应用中找到了我的bugtracker奇怪的NullPointerException
。有趣的部分是它只出现在华为设备上(Honor 7和P8 Lite)。
所以我运行了一些测试代码来检查这是否真的是这些设备的问题。
这是启动AlarmManager的代码:
final AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
final Intent intent = new Intent(this, TestReceiver.class);
intent.putExtra(Constants.contant1, new User("John"));
intent.setAction(Constants.action1);
final PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 4882, intent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.cancel(pendingIntent);
if (Build.VERSION.SDK_INT < 19) {
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), pendingIntent);
} else {
alarmManager.setExact(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), pendingIntent);
}
}
所以我运行AlarmManager
来调用TestReceiver
,如下所示:
public class TestReceiver extends BroadcastReceiver {
private static final String TAG = TestReceiver.class.getName();
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Constants.action1)) {
User text = intent.getParcelableExtra(Constants.contant1);
Log.d(TAG, text.getName());
}
}
}
它所做的只是记录用户名。我们在这里。在我的华为Honor 7上它与NullPointerException
崩溃,但在我的其他设备上运行正常(在Nexus 5,三星Galaxy S3,HTC One,LG G2 Mini上测试)。我与用户实现Serializable和Parcelable。没有帮助。但是当我添加String
额外的或其他任何内容时,代码会在华为运行。
有人遇到了我现在面临的同样问题吗?
答案 0 :(得分:0)
您可以使用
String st = "<form>
First name:<br>
<input type="text" name="firstname">
<br>
Last name:<br>
<input type="text" name="lastname">
</form>"