Mejores prácticas: agregar su aplicación al menú Compartir de Android

Mi aplicación envía archivos (todos los tipos mime) a través de una conexión TCP y, por lo tanto, quería que mi aplicación apareciera en el menú Compartir de Android.

Agregué los siguientes filtros de intento a mi actividad enAndroidManifest.xml

<intent-filter ><!--intent filter for single file sharing-->
    <action android:name="android.intent.action.SEND" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="*/*" />
</intent-filter>
<intent-filter ><!--intent filter for sharing multiple files-->
    <action android:name="android.intent.action.SEND_MULTIPLE" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="*/*" />
</intent-filter>

Ahora agregué esto a laActivity Que se lanzará al hacer clic en Compartir Acción.

Intent intent = getIntent();
if (Intent.ACTION_SEND.equals(intent.getAction())) {
    Uri uri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
    if (uri != null) {
        fileset = new HashSet();
        fileset.add(getPathfromUri(uri));
    }
} else if (Intent.ACTION_SEND_MULTIPLE.equals(intent.getAction())) {
    ArrayList<Uri> uris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
    if (uris != null) {
        fileset = new HashSet();
        for(Uri uri : uris) {
            fileset.add(getPathfromUri(uri));
        }
    }
}

Utilizo este método para generar las rutas absolutas de los archivos que se compartirán.

public String getPathfromUri(Uri uri) {
    if(uri.toString().startsWith("file://")) {
         return uri.getPath();
    }
    String[] projection = { MediaStore.Images.Media.DATA };
    Cursor cursor = managedQuery(uri, projection, null, null, null);
    startManagingCursor(cursor);
    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
    cursor.moveToFirst();
    String path= cursor.getString(column_index);
    //cursor.close();
    return path;
}

El método anterior recupera correctamente la ruta absoluta de Imágenes / Videos y otros archivos. ¿Hay algo que me haya perdido o hay una mejor manera de hacerlo?

Además deShare menú, hay unSend Via menú en mi teléfono.

¿Hay alguna manera de incluir mi aplicación en esta lista?

Respuestas a la pregunta(3)

Su respuesta a la pregunta