0

我的搜索没有让我找到任何解决方案,也许更简单的东西让我的代码无法正常工作。

我的活动 javapage 在 OnCreate 中包含此内容:

Intent MyCountryCodeIntent = new Intent(this,OutgoingCallReceiver.class);
MyCountryCode = "01";
MyCountryCodeIntent.putExtra("code",MyCountryCode);

即使我设置startActivity(MyCountryCodeIntent);sendBroadcast(MyCountryCodeIntent); 这个应用程序挂起

我的 OutgoingCallReceiver.class 页面在 onReceive 中包含此内容:

 Bundle bundle = intent.getExtras();
 if(null == bundle) return;
 String MyCountryCodeIntent=intent.getStringExtra("code");

也许出了点问题,但我不知道是什么..

4

2 回答 2

0

您必须像这样通过 Intent 捕获 Intent

Intent getextras=getIntent();

比你必须获得特定类型的意图,比如如果你从以前的活动中发送了一个字符串,你将不得不像这样捕获字符串类型的意图

String s= getextras.getStringExtra(name);

同样地

Bundle b = getextras.getBundleExtra(bundle);
于 2013-04-22T08:55:11.730 回答
0

sendBroadcast方法应该用于调用BroadcastReceiver

下面的片段会帮助你。

Intent MyCountryCodeIntent = new Intent("com.get.broadcast");
MyCountryCodeIntent.putExtra("code","01");
sendBroadcast(MyCountryCodeIntent);

你应该注册OutgoingCallReceiver行动com.get.broadcast

IntentFilter filter = new IntentFilter();
filter.addAction("com.get.broadcast");
registerReceiver(new OutgoingCallReceiver(),filter);

在 onReceive 中,您将能够使用该值。

您应该阅读以下帖子以获取更多详细信息。

http://mobisys.in/blog/2012/01/android-sending-receiving-broadcast-messages/

于 2013-04-22T08:55:38.527 回答