我发现了一个问题。假设我的应用程序是音乐播放器。
我使用文件浏览器打开音频文件。如果音乐播放器尚未启动。我可以使用以下代码处理它:
Inside OnCreate:
Intent intent = getIntent();
String action = intent.getAction();
if (action != null && action.equals(Intent.ACTION_VIEW)) {
FilePath = intent.getData().getPath();
//do something
}
但是如果我的音乐播放器已启动,则不会调用OnCreate,而是调用OnResume。但是,它将成为Intent.ACTION_MAIN,而不是Intent.ACTION_VIEW。然后我尝试
内部OnResume:
Intent intent = getIntent();
String action = intent.getAction();
if (action != null && action.equals(Intent.ACTION_MAIN)) {
FilePath = intent.getData().getPath();
//do something
}
但是有一个问题。在正常的Android活动中,例如,在应用程序被另一个应用程序隐藏后恢复应用程序时,没有intent.getData()。getPath()。我应该如何修改代码以使其能够区分案例?或者这样做的正确方法是什么?