我正在使用Visual Studio 2022和Xamarin做一个Android应用程序,发现OnReceive
方法什么都没有接收。我已经遵循了我发现的一些示例,但它不起作用。我使用的代码如下:
public class MainActivity : AppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
Intent intent = new Intent(RecognizerIntent.ActionGetLanguageDetails);
SendOrderedBroadcast(intent, null, new LanguageDetailsChecker(), null, Result.Ok, null, null);
}
}
public class LanguageDetailsChecker : BroadcastReceiver
{
public override void OnReceive(Context context, Intent intent)
{
Bundle results = GetResultExtras(true);
if (results.ContainsKey(RecognizerIntent.ExtraSupportedLanguages))
{
Some code
}
}
}
字符串
我希望返回的结果不是空的。
1条答案
按热度按时间suzh9iv81#
如果您想在
LanguageDetailsChecker
的方法OnReceive
上从GetResultExtras(true);
获取数据,则需要在发送Broadcast时设置Bundle
参数。请参考以下代码:
字符串
然后我们可以接收传递的数据如下:
型
注:
也可以使用以下代码传递数据
型
然后在
BroadcastReceiver
的方法OnReceive
上获取数据,如下所示:型