我的应用正在注册接收网址的意图,因此当用户分享网址时,我的应用将位于应用列表中。
<intent-filter
android:label="my app">
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
-
在我的MainActivity的onCreate()方法中:
String action = intent.getAction();
if (action.equalsIgnoreCase(Intent.ACTION_SEND)) {
Uri data = intent.getData();
String s = data.toString();
output.setText(s); //output: a TextView that holds the URL
}
-
我遇到的问题是:数据为空,这很奇怪。由于此代码与ACTION_VIEW
完美配合。但是,它不适用于ACTION_SEND
。
如何修改它?
答案 0 :(得分:5)
你可以尝试
String action = intent.getAction();
if (action.equalsIgnoreCase(Intent.ACTION_SEND) && intent.hasExtra(Intent.EXTRA_TEXT)) {
String s = intent.getStringExtra(Intent.EXTRA_TEXT);
output.setText(s); //output: a TextView that holds the URL
}