未能以隐含意图启动活动

chr*_*ris 1 android android-intent

我有点困惑为什么隐式意图调用失败.尝试启动意图时,我不断收到以下错误:

    android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=content://org.chrisolsen.crossfit.providers.WorkoutProvider/workouts typ=vnd.android.cursor.dir/vnd.chrisolsen.crossfit.workout }
Run Code Online (Sandbox Code Playgroud)

AndroidManifest

    <activity android:name=".activities.WorkoutsActivity" 
        android:label="@string/title_workouts" >
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <data android:mimeType="vnd.android.cursor.dir/vnd.chrisolsen.crossfit.workout"/>
        </intent-filter>
    </activity> 

    <provider 
      android:name=".providers.WorkoutProvider"
      android:authorities="org.chrisolsen.crossfit.providers.WorkoutProvider" />    
Run Code Online (Sandbox Code Playgroud)

通话活动(仪表板)

    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setDataAndType(WorkoutProvider.CONTENT_URI, "vnd.android.cursor.dir/vnd.chrisolsen.crossfit.workout");
    startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

被称为活动(锻炼).它没有在这里

    Uri uri = getIntent().getData();
    ...
Run Code Online (Sandbox Code Playgroud)

它似乎应该很简单,但我很困惑为什么它说没有找到任何活动.

有任何想法吗?

rds*_*rds 5

为了以隐式意图开始,一个活动必须声明

<category android:name="android.intent.category.DEFAULT" />
Run Code Online (Sandbox Code Playgroud)