我正在开发一个下载管理器。为了每秒管理通知,它按顺序调用两个方法,通过getbroadcast构建通知。 updateActiveNotification(下载)然后updateCompletedNotification(下载)。第一种方法检查我的下载列表并构建一个适当的通知,该通知应该显示下载进度(它每秒构建通知,因此它看起来像正在进行的通知!),第二个方法检查已完成的下载并构建其通知。现在的问题是我在这两种方法中通过putExtra设置数据用于正在进行的下载和完成的下载,但是当我在接收器中得到意图时,我无法从完成的下载意图和实际数据中获取putExtra数据键来自第一种方法。
我很困惑地狱! 。这是两种不同的方法,它们为不同的通知做出不同的意图。这怎么可能。
任何人都可以帮助我吗?!
以下是示例代码:
第一种方法:
Intent intent = new Intent(action);
Intent.setclass(receiver class)
intent.putExtra("someName1", boolean);
context.getbroadcast(intent);
第二种方法:
Intent intent = new Intent(action);
Intent.setclass(receiver class)
intent.putExtra("someName2", boolean);
context.getbroadcast(intent);
现在接收:
Bundle mybundle = intent.getExtras();
if(mybundle != null) {
for (String key : mybundle.keySet()) {
//Object value = mybundle.get(key);
Log.d("ALA-Dev", key);
}
}
对于两个意图(从第一个方法或第二个方法),它打印someName2作为键,这意味着它根本没有得到第二个数据!
答案 0 :(得分:0)
如果没有代码示例,很难给出合格的答案。如果您提供了这样的额外内容:
Intent intent = new Intent(context, SomeActivity.class);
intent.putExtra("someName", someString);
context.startActivity(intent);
然后你可以使用像这样的东西来获取数据:
Intent intent = getIntent();
String yourExtra = intent.getStringExtra("someName");