提前谢谢。
当我打印Log.d("me",getIntent().toString());
我得到:
Intent { act=android.intent.action.CALL_PRIVILEGED dat=tel:888 flg=0x13800000 cmp=com.ninetology.freecall.two/.CallFinalActivity }
我正在尝试获取与“dat”相关联的值,但收到空指针异常。

//the code I am using is
getIntent().getStringExtra("dat"); // no use
//i tried
getIntent().getExtras("dat").toString(); // NullPointer exception

我试过用“tel”作为上面代码的键,但仍然没有用。

最佳答案

看来你做错了。
函数返回一个可以从中提取数据的包,而不是返回特定字符串的函数。
getExtras()不是从打印的数据中可以看到的字符串值。这是一个dat
试着按你应该的方式分析它,我相信你能得到数据。

public void onCreate(Bundle b) { //mistyped
    super.onCreate(b);
    Uri data = getIntent().getData();
    // OR USE THIS
    String data = getIntent().getDataString();
    // DO STUFF
}

关于android - 从Android的Intent获取值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11339203/

10-10 04:55