我希望我的应用显示在android的共享屏幕对话框中。 就像当我们使用文件管理器并想要打开任何具有mp4扩展名的文件时(例如)。然后,我们将获得手机中所有mp4媒体播放器的列表。或者,如果您选择共享任何文件,那么我们将获得可以共享文件的所有应用程序的列表,例如WhatsApp,xender等。 同样,我想在我的应用程序文本到用户界面(应用程序名称)中打开.txt文件。 虽然我已经知道如何手动打开文件。
答案 0 :(得分:0)
在该活动的“共享”下的“清单”中添加以下代码
如果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");
}
}
应用程序在共享列表中:
我希望它对您有用。