由于某些原因,我添加到我的意图中的附加数据在接收到意图时未保留。我已经进行了相当长时间的调试,但是我并没有发现代码方面的问题。也许有人可以提供帮助。
意图创建:
// Intent created within an IntentService for an AppWidgetProvider
final Intent textViewIntent = new Intent(this, LocWidgetProvider.class);
textViewIntent.setAction(ACTION_CHANGE_LOCALE);
textViewIntent.putExtra("SomeExtra", "SomeValue");
Log.d("ExtraTest", String.format("Extra data: %s",
textViewIntent.getStringExtra("SomeExtra")));
final PendingIntent textViewPendingIntent = PendingIntent.getBroadcast(this, 0,
textViewIntent, PendingIntent.FLAG_UPDATE_CURRENT);
remoteViews.setOnClickPendingIntent(R.id.SomeButton, textViewPendingIntent);
当按下“SomeButton”后接收意图时:
protected void onHandleIntent(Intent intent) {
if(intent.getAction().equals(ACTION_CHANGE_LOCALE))
{
if(!intent.hasExtra("SomeExtra"))
{
Log.d("ExtraTest", "Extra data was null :(");
}
else {
String newLocale = (String)intent.getExtras().get("SomeExtra");
LocaleManager.ChangePhoneLocale(new Locale(newLocale));
}
}
我一直遇到这个问题:
“额外的数据:SomeValue”(当创建Intent时,Intent似乎有数据)
“额外的数据为空 :(”。(当接收到Intent时,Intent不再具有ExtraData)
我在创建Intent时做错了什么吗?