gpt4 book ai didi

java - getIntent() 返回空指针异常

转载 作者:搜寻专家 更新时间:2023-11-01 08:44:25 26 4
gpt4 key购买 nike

以下方法在 Activity 打开时返回空指针异常。有人知道为什么吗?调用 getIntent() 时是否与不存在 Intent 有关?

如有任何帮助,我们将不胜感激。

日志:

04-21 15:38:03.237: E/AndroidRuntime(1910): Process: com.lyit.project, PID: 1910
04-21 15:38:03.237: E/AndroidRuntime(1910): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.lyit.project/com.lyit.project.MapScreen}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference

代码:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map_screen);

SupportMapFragment fragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mGoogleMap = fragment.getMap();

handleIntent(getIntent());

}

private void handleIntent(Intent intent){
if(intent.getAction().equals(Intent.ACTION_SEARCH)){
doSearch(intent.getStringExtra(SearchManager.QUERY));
}else if(intent.getAction().equals(Intent.ACTION_VIEW)){
getPlace(intent.getStringExtra(SearchManager.EXTRA_DATA_KEY));
}
}

@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
handleIntent(intent);
}

最佳答案

只需检查您的 Intent 和操作是否为空,默认操作为空。

private void handleIntent(Intent intent){
if (intent != null && intent.getAction() != null) {
if(intent.getAction().equals(Intent.ACTION_SEARCH)){
doSearch(intent.getStringExtra(SearchManager.QUERY));
}else if(intent.getAction().equals(Intent.ACTION_VIEW)){
getPlace(intent.getStringExtra(SearchManager.EXTRA_DATA_KEY));
}
}
}

关于java - getIntent() 返回空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29776892/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com