【问题标题】:How can I open my Android app through share screen?如何通过共享屏幕打开我的 Android 应用程序?
【发布时间】:2019-11-27 03:53:03
【问题描述】:

我希望我的应用程序显示在 android 的共享屏幕对话框中。 就像我们使用文件管理器并想要打开任何带有 mp4 扩展名的文件(比方说)一样。然后我们将获得手机中所有 mp4 媒体播放器的列表。或者,如果您选择共享任何文件,那么我们将获得可以共享文件的所有应用程序的列表,例如 WhatsApp、xender 等。 同样,我想在我的应用 Text To UI(应用名称)中打开 .txt 文件。 虽然我已经知道如何手动打开文件了。

【问题讨论】:

标签: java android android-intent android-activity


【解决方案1】:

在 Manifest 中在共享时打开的活动下添加以下代码

如果MainActivity 不是启动器活动,请在清单中添加以下代码

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

如果MainActivity 是您的启动器活动以及在共享时打开的活动,请在清单中添加以下代码

<activity
            android:name=".MainActivity"
            android:screenOrientation="portrait">
             <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

MimeType "text/*" 仅用于发送文本类型数据。

MimeType "image/*" 仅用于发送图像类型数据。

MimeType "video/*" 仅用于发送视频类型数据。

MimeType "*/*" 能够发送所有类型的数据,如视频、音频、图像、文本

要在您的应用中获取数据,请尝试以下活动代码:

 Intent receiverdIntent = getIntent();
        String receivedAction = receiverdIntent.getAction();
        String receivedType = receiverdIntent.getType();

        if (receivedAction.equals(Intent.ACTION_SEND)) {


            Uri receiveUri = (Uri) receiverdIntent
                    .getParcelableExtra(Intent.EXTRA_STREAM);

            if (receiveUri != null) {
                Log.e("Shared",receiveUri.toString());
            }else{
                Log.e("Shared","Nothing");
            }

        }

应用在分享列表中:

我希望它对你有用。

【讨论】:

  • @Vijay,请检查已编辑的答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多