Android 通过我的应用分享 link 和图片
Android share link and images through my application
我想通过我的应用程序添加共享图像或 link 的功能。
为此,我在清单中添加了那些过滤器
<activity android:name="MyActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait"
>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
</activity>
这个activity基本上是主要的,我的意思是当用户启动应用程序时,这个activity将被打开。
现在,当我滑动应用程序并通过我的应用程序分享 YouTube link 时,我得到了数据并且它工作正常,问题是当我启动应用程序然后按下主页按钮(在这种情况下该应用程序在后台运行),然后尝试共享一个 youtube link 我没有从 intent 中获取数据。
有什么建议吗?
您似乎将数据处理代码放入了您的 onCreate() 中。
尝试将数据处理代码放入 onStart() 中。
当您共享 link 时,第三方应用程序会在打开您的应用程序时为您提供要共享的数据。但是当您按下主页按钮时,不会存储数据。然后,当您返回时,数据将会丢失。
因此,当您从第三方应用程序中检索数据时,您需要将数据存储在一个变量中(例如)。
现在,您可以使用 onStart()
函数检索数据并显示在您的视图中。
提示: 我猜你可以使用 Singleton (also known as anti-pattern: read more).
看来您不仅应该在 onCreate
中添加处理,而且还应该在 onNewIntent
方法中添加处理。
如果 activity 已经创建,singleTask
强制 android 通过 onNewIntent
传递意图。
我想通过我的应用程序添加共享图像或 link 的功能。 为此,我在清单中添加了那些过滤器
<activity android:name="MyActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait"
>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
</activity>
这个activity基本上是主要的,我的意思是当用户启动应用程序时,这个activity将被打开。
现在,当我滑动应用程序并通过我的应用程序分享 YouTube link 时,我得到了数据并且它工作正常,问题是当我启动应用程序然后按下主页按钮(在这种情况下该应用程序在后台运行),然后尝试共享一个 youtube link 我没有从 intent 中获取数据。
有什么建议吗?
您似乎将数据处理代码放入了您的 onCreate() 中。
尝试将数据处理代码放入 onStart() 中。
当您共享 link 时,第三方应用程序会在打开您的应用程序时为您提供要共享的数据。但是当您按下主页按钮时,不会存储数据。然后,当您返回时,数据将会丢失。
因此,当您从第三方应用程序中检索数据时,您需要将数据存储在一个变量中(例如)。
现在,您可以使用 onStart()
函数检索数据并显示在您的视图中。
提示: 我猜你可以使用 Singleton (also known as anti-pattern: read more).
看来您不仅应该在 onCreate
中添加处理,而且还应该在 onNewIntent
方法中添加处理。
如果 activity 已经创建,singleTask
强制 android 通过 onNewIntent
传递意图。