Receiver to Alarm Activity bundle 返回 null,即使分配了默认的 bundle 值
Receiver to Alarm Activity bundle returning null, even with default bundle values assigned
我正在尝试将字符串从广播接收器传递到警报 activity,但我一直收到空指针异常。
我检查了广播接收器中的值,与警报意图捆绑在一起的字符串不为空。
我将字符串附加到意图并启动警报 activity 意图如下:
@Override
public void onReceive(Context context, Intent intent) {
Intent normalReminderIntent = new Intent(context.getApplicationContext(), ReminderAlarmActivity.class);
// Bundle information and add to the intent for use in the alarm notification
Bundle extras = new Bundle();
extras.putString("Title", title);
extras.putString("Description", description);
intent.putExtras(extras);
// Start the reminder activity
context.getApplicationContext().startActivity(normalReminderIntent);
}
然后在警报中 activity 我做了 intent get extras 甚至设置了默认值,但我仍然得到空指针。我是这样做的:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
setTheme(R.style.AppTheme_Dialog);
super.onCreate(savedInstanceState);
setContentView(R.layout.alarm_activity_reminder);
// Get the bundled info for title and description
Intent intent = getIntent();
String title = (String) intent.getExtras().getString("Title", "");
String description = (String) intent.getExtras().getString("Description", "");
}
查看 getString 方法我不明白为什么我会得到一个空指针,而不是默认值:
public String getString(String key, String defaultValue) {
throw new RuntimeException("Stub!");
}
在这里搜索了很多问题后,我不确定为什么我得到的通常是空指针。
在此先感谢您的帮助
在 onReceive
中使用 normalReminderIntent.putExtras
而不是 intent.putExtras
我正在尝试将字符串从广播接收器传递到警报 activity,但我一直收到空指针异常。
我检查了广播接收器中的值,与警报意图捆绑在一起的字符串不为空。
我将字符串附加到意图并启动警报 activity 意图如下:
@Override
public void onReceive(Context context, Intent intent) {
Intent normalReminderIntent = new Intent(context.getApplicationContext(), ReminderAlarmActivity.class);
// Bundle information and add to the intent for use in the alarm notification
Bundle extras = new Bundle();
extras.putString("Title", title);
extras.putString("Description", description);
intent.putExtras(extras);
// Start the reminder activity
context.getApplicationContext().startActivity(normalReminderIntent);
}
然后在警报中 activity 我做了 intent get extras 甚至设置了默认值,但我仍然得到空指针。我是这样做的:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
setTheme(R.style.AppTheme_Dialog);
super.onCreate(savedInstanceState);
setContentView(R.layout.alarm_activity_reminder);
// Get the bundled info for title and description
Intent intent = getIntent();
String title = (String) intent.getExtras().getString("Title", "");
String description = (String) intent.getExtras().getString("Description", "");
}
查看 getString 方法我不明白为什么我会得到一个空指针,而不是默认值:
public String getString(String key, String defaultValue) {
throw new RuntimeException("Stub!");
}
在这里搜索了很多问题后,我不确定为什么我得到的通常是空指针。
在此先感谢您的帮助
在 onReceive
中使用normalReminderIntent.putExtras
而不是 intent.putExtras