如何让我的Android应用程序出现在另一个特定应用程序的共享列表中

<action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="text/plain" /> 

这是在我的清单文件

这将使我的应用程序出现在所有应用程序的共享列表,但我希望我的应用程序出现在另一个特定的应用程序的共享列表,我不拥有其他应用程序

为了做到这一点,你需要知道应用程序正在创build的意图,并创build一个IntentFilter,将您的应用程序添加到特定的列表。

在Intents和filter上接收隐含的意图 (Android开发人员)

该应用程序可能使用您可以挂钩的特定操作名称。

 <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> 

或者它可能正在寻找接受某种types的文件的应用程序。

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

应用程序的名称和它共享的内容将帮助我给出更具体的回应。

把这个添加到你的mainefist文件中

 <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> 

这个链接可能会帮助你

这对我得到所有的网页, 我的应用程序扫描网页上的MP3文件,并从他们设置警报很好。 当您分享网页时,它会打开我的新url活动:

以下是这段代码的结果: 在这里输入图像描述

  <activity android:name=".NewUrl" android:label="@string/title_activity_new_url" android:windowSoftInputMode="stateUnchanged"> <intent-filter> <action android:name="android.intent.action.SEND"/> <category android:name="android.intent.category.DEFAULT"/> <data android:mimeType="text/*"/> </intent-filter> </activity> 

然后接收应用程序中的链接,我从这个教程得到了一些信息: http : //code.tutsplus.com/tutorials/android-sdk-receiving-data-from-the-send-intent–mobile-14878

我会检查,看看是否有任何API你想与这个应用程序的工作。

如果是这样,你可以通过了解获益

  • 一个更具体的隐式行为为您的filter
  • 或者添加一个DEFAULT以外的类别
  • 如果你能find这样的东西,那么其他应用程序就不太可能看到它。