2017-02-17 71 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中的構建文件夾,並沒有重新同步新的構建器文件夾。 –