Intereting Posts

Сделать приложение Android прослушивать общие ссылки

Я хочу, чтобы мое приложение для Android отображалось как опция, когда пользователь делится URL-адресом из другого приложения (например, браузера). Как я могу зарегистрировать свое приложение для этого? Как я могу отреагировать на ссылку на акции?

Большое спасибо.

Редактировать:

Я пробовал использовать IntentFilter как это без успеха:

<intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> </intent-filter> 

Есть идеи?

Solutions Collecting From Web of "Сделать приложение Android прослушивать общие ссылки"

На минимальном минимуме вам нужно:

 <activity android:name=".ShareActivity"> <intent-filter android:label="Share with my app"> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> 

В вашем манифесте … который, по крайней мере, будет отображаться в листинге «share».

Самая важная часть, которую вам не хватает:

 <action android:name="android.intent.action.SEND" /> 

Чтобы сделать это на самом деле что-то, вам нужно действие.

Это также может помочь: http://sudarmuthu.com/blog/sharing-content-in-android-using-action_send-intent

Дополнительная информация:

 <activity android:name=".ShareActivity"> <intent-filter android:label="Share with my app"> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="text/plain" /> </intent-filter> </activity> 

Там <data android:mimeType будет ограничивать то, на что вы отвечаете, если вы хотите ограничить ответ своего приложения.

Чтобы получить изображение в вашей деятельности, используйте Uri imgUri = (Uri) i.getParcelableExtra(Intent.EXTRA_STREAM); Для одного изображения или используйте ArrayList<Uri> imgUris = i.getParcelableArrayListExtra(Intent.EXTRA_STREAM); Для списка изображений:

 Intent i = getIntent(); Bundle extras = i.getExtras(); String action = i.getAction(); // if this is from the share menu if (Intent.ACTION_SEND.equals(action)) { if (extras.containsKey(Intent.EXTRA_STREAM)) { Uri imgUri = (Uri) i.getParcelableExtra(Intent.EXTRA_STREAM); // Do job here } } 

надеюсь, это поможет

Вам необходимо создать Activity с соответствующим фильтром Intent. Прочитайте документацию о Intent , она объясняет все это примерами.