我的搜索没有让我找到任何解决方案,也许更简单的事情让我的代码无效。
我的活动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");
也许出了点问题,但我找不到什么......
答案 0 :(得分:0)
你必须像这样通过Intent捕获Intent
Intent getextras=getIntent();
比你必须获得特定类型的意图,就像你从前一个活动发送了一个字符串,你必须像这样捕获字符串类型的Intent
String s= getextras.getStringExtra(name);
simillarly
Bundle b = getextras.getBundleExtra(bundle);
答案 1 :(得分: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/