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

标签 java android android-intent null maps

当 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/

相关文章:

java - 仅使用 POJO bean 创建项目

android - 使用哪个 gradle 文件将应用程序设置为可调试?

android - 如何将不可分割的对象从一个 Activity 传递到另一个 Activity ?

android - 播放视频文件的最佳方式?

android - 自动启动 (BOOT_COMPLETED) 在 Nomi 平板电脑上不起作用

java - 基于此Java代码的文件的每个句子中有多少个单词

Java - 与 3 个表的内连接

java - 使用 Spring Hibernate getHibernateTemplate().find 来选择列

android - 在 alpha/beta 测试中发布应用程序是否会在生产中取消发布我的应用程序?

android - Google Analytics Android SDK V4 混淆