如何处理来自其他应用程序的“共享通过”对话框请求?

时间:2011-02-22 14:09:30

标签: android listener handle share sharing

我将intent-filter添加到ApplicationManifest.xml,将我的应用程序带到“Share via”对话框:

<intent-filter>
    <action android:name="android.intent.action.SEND" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="image/*" />
</intent-filter>

如何处理来自其他应用的请求。

1是否可以直接区分app-start和shared start?

2如何访问共享数据?

2 个答案:

答案 0 :(得分:4)

在onCreate中,您可以调用getIntent()来查看捆绑包中是否有任何数据。使用getData()方法检索Uri或其中一个get ...额外方法来检索任何其他预期数据。

void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.id.main);
    ...
    Intent i = getIntent();
    Uri data = i.getUri(); 
    if(data != null) {
    // do something interesting
    }
    /* or */
    String text = i.getStringExtra(Intent.EXTRA_TEXT);
    / * do something interesting with the text */
}

答案 1 :(得分:0)

关于问题1:在直接app-start案例中,意图行动不会是SEND。

问题2的

请参阅我的评论。