2017-02-17 81 views
0

我正在编写一个照片编辑器应用程序,但面临启动编辑器活动(EditorActivity)时出现问题,含有隐含的intents活动未列在活动选择器

一个intent filterEditorActivity已被设置为:

<action android:name="android.intent.action.EDIT"/> 
<data android:mimeType="image/*"/> 
<category android:name="android.intent.category.DEFAULT"/> 

我使用此代码来启动EditorActivity

Intent editIntent = new Intent(Intent.ACTION_EDIT); 
editIntent.setDataAndType(null, "image/*"); 
startActivity(editIntent); 

EditorActivity没有在活动选择器上市。

更令我困惑的是,如果我将这三行添加到MainActivity的意图过滤器中,那么MainActivity IS将列在活动选择器中。

清单文件为这个应用程序列表如下:

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".MainActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 
      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 

    <activity android:name=".EditorActivity" 
       android:exported="true"> 
     <intent-filter> 
      <action android:name="android.intent.action.EDIT"/> 
      <data android:mimeType="image/*"/> 
      <category android:name="android.intent.category.DEFAULT"/> 
     </intent-filter> 
    </activity> 
</application> 

任何人有什么建议?

谢谢。

回答

1

我相信这应该是这个样子

<activity android:name=".EditorActivity" 
      android:exported="true"> 
    <intent-filter> 
     <action android:name="android.intent.action.EDIT"/> 
     <data android:mimeType="image/*"/> 
     <category android:name="android.intent.category.DEFAULT"/> 
    <intent-filter> 
</activity> 

给了一枪,希望这有助于解决您的概率。

+0

谢谢你的回答。我之前已经为代码添加了'。问题中的清单文件现在已被更正。真正的原因是我重定向了gradle中的构建文件夹,并没有重新同步新的构建器文件夹。 –