android现有活动从OnResume读取文件的意图

时间:2013-11-03 15:44:11

标签: android android-intent

我已将我的应用与txt文件相关联。 因此,用户可以在File explorer app中选择一个文件,然后选择我的应用程序将其打开。 在OnCreate中:

    Intent intent = getIntent();
    String action = intent.getAction();        
    if (action != null && action.equals(Intent.ACTION_VIEW)) {
        txtFilePath = intent.getData().getPath();
    }

但是,当用户没有关闭我的应用程序,并且他返回文件资源管理器并打开另一个文件时,不会调用OnCreate。而是调用OnResusme。 我把下面的代码放在OnResume中:

    Intent intent = getIntent();
    String action = intent.getAction();        
    if (action != null && action.equals(Intent.MAIN)) {
        txtFilePath = intent.getData().getPath();
    }

但是,txtFilePath为null。为什么?非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

不要在onResume()方法中创建一个新的Intent对象而是使用你在onCreate方法中使用的现有对象。

     Intent intent; 

的onCreate:

    intent = getIntent();
    String action = intent.getAction();        
    if (action != null && action.equals(Intent.ACTION_VIEW)) {
        txtFilePath = intent.getData().getPath();
    }

的onResume:

String action = intent.getAction();        
if (action != null && action.equals(Intent.MAIN)) {
    txtFilePath = intent.getData().getPath();
}