仅在应用尚未启动时才获取Intent操作

时间:2015-10-27 11:40:50

标签: java android android-intent

我目前有这段代码......:

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

    Intent intent = getIntent();

    if (intent.getAction().equals("android.intent.action.VIEW")) {
        String filename = intent.getData().getPath();
        file = new File(filename);
    } else {
        file = new File(sdcard, "myfile.txt");
    }
}

...仅适用于应用启动(从启动器或文件浏览器启动时)。

我的问题是我在操作栏中使用其他活动并带有后退按钮。 当我们返回MainActivity时,它会调用OnCreate方法,此时intent.getAction()出错。

我猜动作字符串为空,因为错误是:

java.lang.RuntimeException: Unable to start activity : java.lang.NullPointerException

所以我的问题是下一个:当用户按下第二个活动的后退按钮时,如何阻止我的MainActivity调用intent.getAction()方法?

PS:我不需要这个方法被调用两次;)

0 个答案:

没有答案