我该如何处理“分享方式”?来自其他应用程序的对话框请求?

发布于 2024-10-18 08:23:20 字数 389 浏览 1 评论 0原文

我将意图过滤器添加到 ApplicationManifest.xml 中,以将我的应用程序带到“共享通过”对话框:

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

如何处理来自另一个应用程序的请求。

1 能否区分直接应用启动和共享启动?

2 如何获取共享数据?

I added the intent-filter to ApplicationManifest.xml to take my app to "Share via" Dialog:

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

How can I handle the request from another app.

1 Is it possible to differentiate between directly app-start and sharing start?

2 How to get access to sharing data?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浅唱々樱花落 2024-10-25 08:23:20

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

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 */
}

In onCreate you can call getIntent() to see if there is any data in the bundle. Use the getData() method to retrieve a Uri or one of the get...Extra methods to retrieve any other expected data.

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 */
}
热风软妹 2024-10-25 08:23:20

关于问题 1:在直接应用程序启动的情况下,意图操作不会是 SEND。

对于问题2,请参阅我的评论。

regarding question 1: in direct app-start case, the intent action would not be SEND.

for question 2 see my comment.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文