我尝试从GoogleMaps应用中检索目标位置并在我自己的应用中使用它,但到目前为止,我找不到任何有关如何操作的文档。
有关更详细的说明:如果您启动Google地图应用并长按地图上的任意位置,则会在该位置设置标记。如果您点按该标记,则会显示该位置的详细信息。除此之外,还有一个" SHARE"这些细节中的按钮。点击该按钮后,将显示一个能够接受共享位置的应用列表。我希望我的应用程序出现在那里!
我想:由于此信息将作为意图发送,我需要将我的应用注册为适当意图的意图过滤器。但我需要听取什么意图?
在清单中,它看起来像这样:
<activity android:name="My Activity">
<intent-filter android:label="My App">
<!-- What goes here? -->
</intent-filter>
</activity>
一旦我得到了这个,我希望我的应用程序出现在上面提到的列表中。下一步是处理接收的数据。那么,我从意图中得到的数据是什么样的? 是否有任何默认API来处理这些数据?
感谢任何帮助。我知道我不能提供很多关于&#34;到目前为止我尝试了什么的细节&#34;但是我真的找不到能帮助我的API描述。
答案 0 :(得分:1)
查看http://developer.android.com/training/sharing/receive.html。
你需要:
在清单中更新活动的意图过滤器
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
向您的活动添加代码以处理意图
Intent intent = getIntent();
String action = intent.getAction();
String type = intent.getType();
if (Intent.ACTION_SEND.equals(action) && type != null && "text/plain".equals(type)) {
String text = intent.getStringExtra(Intent.EXTRA_TEXT);
// Do whatever you want with the text
}