How to make my Android app appear in the share list of another specific app

Android Ninja picture Android Ninja · Jun 19, 2012 · Viewed 31.7k times · Source
<action android:name="android.intent.action.SEND" />     
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />

this is in my manifest file

this will make my app appear on the share list of all apps but I want my app to appear in the share list of another specific app and I don't own the other app

Answer

DanO picture DanO · Jun 19, 2012

In order to do this, you need to know the Intent that the application is creating and create an IntentFilter that will add your application to the specific list.

Receiving an Implicit Intent on Intents and Filters (Android Developers)

The application probably uses a specific action name that you could hook to.

<intent-filter . . . >
    <action android:name="com.example.project.SHOW_CURRENT" />
    <action android:name="com.example.project.SHOW_RECENT" />
    <action android:name="com.example.project.SHOW_PENDING" />
    . . .
</intent-filter>

Or it could be looking for applications accepting a certain type of file.

<intent-filter . . . >
    <data android:mimeType="video/mpeg" android:scheme="http" . . . /> 
    <data android:mimeType="audio/mpeg" android:scheme="http" . . . />
    . . .
</intent-filter>

The name of the application and what it is sharing would help me give a more specific response.