我已将我的应用与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。为什么?非常感谢您的帮助。
答案 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();
}