我想构建一个android应用程序。当我选择一些文本并单击共享时,它将显示我的应用程序。有人可以帮助我我需要使用什么以及如何获得吗?
答案 0 :(得分:2)
您需要告诉Android您的应用程序可以处理文本。为此,您可以在Android清单文件中定义意图过滤器。
例如:
<activity android:name=".ui.MyActivity" >
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
</activity>
在这里,您告诉系统,任何人共享“文本/纯文本”类型的内容时,请选择“显示我的应用”。
如果用户选择了您的应用,您将在ui.MyActivity类中获取数据,如下所述:
void onCreate (Bundle savedInstanceState) {
...
// Get intent, action and MIME type
Intent intent = getIntent();
String action = intent.getAction();
String type = intent.getType();
if (Intent.ACTION_SEND.equals(action) && type != null) {
if ("text/plain".equals(type)) {
handleSendText(intent); // Handle text being sent
}
} else {
// Handle other intents, such as being started from the home screen
}
...
}
void handleSendText(Intent intent) {
String sharedText = intent.getStringExtra(Intent.EXTRA_TEXT);
if (sharedText != null) {
// Update UI to reflect text being shared
}
}
答案 1 :(得分:0)
在意图过滤器下方添加到清单中的活动
<activity android:name=".YourActivity" >
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter> >
</activity>
这里是文档:https://developer.android.com/training/sharing/receive