[英]How can I open my Android app through share screen?
我希望我的應用程序顯示在 android 的共享屏幕對話框中。 就像我們使用我們的文件管理器並想要打開任何帶有 mp4 擴展名的文件(假設)一樣。 然后我們將獲得我們手機的所有 mp4 媒體播放器的列表。 或者,如果您選擇共享任何文件,那么我們將獲得可以共享該文件的所有應用程序的列表,例如 WhatsApp、xender 等。同樣,我想在我的應用程序中打開 .txt 文件 Text To UI(應用程序名稱) . 雖然我已經知道如何手動打開文件。
在 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");
}
}
應用程序在共享列表中:
我希望這個對你有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.