簡體   English   中英

如何防止我的應用在 startActivity() 上顯示特定應用

[英]How can I prevent my app from showing specific apps on startActivity()

當用戶單擊我的應用程序中的按鈕時,它應該啟動一個 SMS 應用程序。 對此,我只是發出了一個意圖。

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.fromParts("sms", "+234000000000", null));
intent.putExtra("sms_body", "Hello!"));
if (intent.resolveActivity(getActivity().getPackageManager()) != null) startActivity(intent);

這工作得很好! 唯一的問題是Facebook Messenger是出現的應用程序列表之一,我不希望這樣。

如何過濾此列表並刪除 Messenger 等特定應用?


在此處輸入圖像描述

是的,您可以限制您的應用程序僅打開 android 默認消息應用程序。

            Uri uri = Uri.parse("sms:+444498494984");
            Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
            //android sms app package name
            intent.setPackage("com.google.android.apps.messaging");
            intent.putExtra("sms_body", "message to send");
            if (intent.resolveActivity(getPackageManager()) != null)
            {
                startActivity(intent);
            }

它試圖讓用戶在他們最喜歡的 SMS 應用程序上做出選擇,不要忘記 Facebook Messenger 現在也可以管理 SMS,這就是它顯示為選擇的原因。 根據我的經驗,除非用戶選擇“始終”,否則無法避免。 想象一下,如果用戶有其他應用程序來管理 SMS,我們不能強迫他們使用我們首選的消息傳遞應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM