Java 安卓意图即使在数据传输时也是空的

Java 安卓意图即使在数据传输时也是空的,java,android,eclipse,android-intent,Java,Android,Eclipse,Android Intent,所以这里我有一个意图,我用它来打开一个新的活动并推送数据 map.setOnInfoWindowClickListener(new OnInfoWindowClickListener() { @Override public void onInfoWindowClick(Marker arg0) { Intent openNav = new Intent(getBaseContext(), NavActivity.class); openNav.putExt

所以这里我有一个意图,我用它来打开一个新的活动并推送数据

map.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {

    @Override
    public void onInfoWindowClick(Marker arg0) {
     Intent openNav = new Intent(getBaseContext(), NavActivity.class);
     openNav.putExtra("LAT", "01");
     startActivity(openNav);
 }
    });
在我尝试从NavActivity中的intent访问数据之前,我的应用程序工作正常:

public class NavActivity extends Activity{
   Intent i = getIntent();


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_nav);


if (i != null){
        Toast.makeText(getApplicationContext(), "Welcome to NAV",  Toast.LENGTH_SHORT).show();
    }
    else
    {
        Toast.makeText(getApplicationContext(), "Please enter LAT and LONG",  Toast.LENGTH_SHORT).show();
    }
所以我检查了意图是否为空,每次都是。我有没有办法解决这个问题,或者我遗漏了什么

我没有包含一行,其中I.getExtras()来自intent,因为每当我放入该行时,它就会崩溃。有什么原因导致这种情况持续发生吗

编辑!!!找到解决方案 因此,如果有人遇到过这个问题,我在玩过之后找到了解决办法。由于某些原因,当应用程序打开新活动时,此时没有可用的意图,因此您无法使用它并从该意图中获取任何信息

因此,在OnCreate()中声明意图并从中获取值

非常感谢所有帮助过我的人,这是一次有趣的旅程,他们想出了这么愚蠢的事情。

在第一个活动中

Intent intent = new Intent(FirstActivity.this, NavActivity.class);
intent.putExtra("LAT", "01");
startActivity(intent);
第二项活动:

Bundle bundle = getIntent().getExtras();
String value2 = bundle.getString("LAT");

在第二个活动中使用:-

public class NavActivity extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_nav);

 Intent i = getIntent();
String lat= i.getStringExtra("LAT");

if (lat != null){
        Toast.makeText(getApplicationContext(), "Welcome to NAV",  Toast.LENGTH_SHORT).show();
    }
    else
    {
        Toast.makeText(getApplicationContext(), "Please enter LAT and LONG",  Toast.LENGTH_SHORT).show();
    }

你能提供更多的代码吗?确实要从
NavActivity.java
调用
getIntent()
?要移动下一个活动吗@user3897321我编辑了代码片段,是的,我在活动中调用了getIntent()。但它仍然是空的。我毫无问题地移动到下一个活动,即使我将数据放入其中,我发送数据的意图也是空的。我更改了“intent openNav=new intent(getBaseContext(),NavActivity.class);”to'Intent openNav=newintent(MapActivity.this,NavActivity.class);'它仍然是空的。好的,我在问题的末尾添加了我检查意图的地方。好的,在您的NavActivity中,使用这个Bundle=getIntent().getExtras();字符串值2=bundle.getString(“LAT”);并检查其价值。Toast.makeText(getApplicationContext(),value2,Toast.LENGTH_SHORT).show();不需要创建Intent i,只要在我尝试从地图页面获取Intent信息时使用BundleMy应用程序崩溃即可。因此,即使我不需要创建意图,该意图似乎也不会导致我的应用程序崩溃。我真的不明白为什么,因为我正在传递数据是因为我的应用程序在引入它时崩溃。我想知道为什么会发生这种情况。你有没有试过我的代码或者正确地使用过我的代码?你的代码没有问题,但是你基本上复制了我的代码并添加了一行,这一行导致我的整个应用程序崩溃。是的,它在创建时正好在它应该在的位置,但由于某种原因,它一直崩溃,即使我使用了一个意图。因此,当我在onCreate()中使用一个bundle时,它确实起了作用。我不知道为什么。