Как получить приложение, которое обменивается данными с моим приложением - PullRequest
0 голосов
/ 06 апреля 2019

Я создаю приложение, с помощью которого другие приложения могут обмениваться текстом (ссылки и т. Д.).

Есть ли способ получить название приложения, которое обменивается данными с моим приложением?

Я уже нашел refer.host ведьма дает мне URI приложения для обмена, но URI отличаются ( com.reddit.frontpage vs com.google.android.youtube ), который выполняет синтаксический анализтрудно.

1 Ответ

0 голосов
/ 08 апреля 2019

Добавьте этот код в свои манифесты

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >

        //Add this line
        <intent-filter>
            <action android:name="android.intent.action.GET_CONTENT" />

            <category android:name="android.intent.category.DEFAULT" />

            <data android:mimeType="*/*" />
        </intent-filter>
        //---------------

    </activity>
</application>

Теперь добавьте этот код в MainActivity, чтобы получить доступ к данным другим приложением

public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // Get intent, action and MIME type
    Intent intent = getIntent();
    String action = intent.getAction();
    String type = intent.getType();

    // You would then use these three variable to figure out who has sent you an Intent and what they want you to do!
    // See here for further instruction: https://developer.android.com/training/sharing/receive.html
    // https://developer.android.com/guide/topics/manifest/action-element.html
    // https://developer.android.com/reference/android/content/Intent.html#ACTION_GET_CONTENT

}
}

Надеюсь, это поможет вам!

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...