【发布时间】:2011-07-24 20:48:51
【问题描述】:
由于某种原因,我添加到意图中的捆绑额外数据在收到意图时不会持续存在。我已经调试了很长一段时间,但我没有发现我的代码有任何问题。也许有人可以帮忙。
意图创建:
// 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”后接收到inent时:
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));
}
}
我一直在打:
“Extra data: SomeValue”(Intent创建时好像有数据)
"Extra data was null :(". (Intent 收到时不再有 ExtraData
创建意图时我做错了吗?
【问题讨论】:
-
其他人似乎遇到了这个问题,但还没有答案link
标签: android