如果我的应用程序是通过ACTION_VIEW启动的,我该如何检索附加的数据?

时间:2011-01-10 14:57:07

标签: android android-intent intentfilter

我已经让我的应用处理某个数据类型的ACTION_VIEW意图,它做得很好。我似乎无法弄清楚如何实际检测我的应用程序是否已经以这种方式启动,以及如何获取附加的数据。有人能指出我正确的方向吗?如果有帮助的话,这是我的清单的摘录。

<activity android:name=".MyApp"
          android:label="@string/app_name"
          android:screenOrientation="portrait" >

            ...

            <intent-filter>
              <action android:name="android.intent.action.VIEW"/>
              <action android:name="android.intent.action.EDIT" />
              <action android:name="android.intent.action.PICK" />
              <category android:name="android.intent.category.DEFAULT" />
              <data android:mimeType="audio/wav" />
            </intent-filter>


</activity>

2 个答案:

答案 0 :(得分:6)

您可以从意图的数据中检索数据URI:

Uri uri = getIntent() != null ? getIntent().getData() : null;

答案 1 :(得分:2)

使用以下方法检测此操作是否启动了您的应用:

    String action = intent.getAction();
    if ( Intent.ACTION_VIEW.equals( action ) // watch out for action being null!