6
我有一個功能,我的應用程序,讓人們共享內容。三星設備自動設置共享默認應用程序意向
它通常的工作方式是:
設備要求用戶選擇一個應用程序來處理Intent
。用戶可以選擇'一次'或'總是'。
在某些三星設備上,例如Galaxy S6中,只有'一次'和'總是'的選項缺失,選擇一個應用程序後,這個應用程序成爲該事件的標準。
這甚至會導致我的應用程序被新安裝的,試圖共享時,將不會向用戶詢問可言,Intent
只是由用戶從另一個應用程序共享時選擇共享應用程序處理!
這是我建立我的簡單的意圖:
Intent intent = ShareCompat.IntentBuilder.from(this)
.setSubject("mySubject")
.setText("myText")
.setType("text/plain")
.setChooserTitle("myChooserTitle").getIntent();
startActivity(intent);
我也試過:
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "myText");
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "mySubject");
sendIntent.setType("text/plain");
startActivity(sendIntent);
我的問題是:我可以做任何事情從我的代碼,以防止這種還是我必須告訴我的用戶下次不要購買三星?
你不ussually定義這個意圖在清單中,活性應通過意圖是推出?可能你已經做到了,但在這裏沒有看到它。也許你可以根據具體意圖定義,只有你的活動應該啓動。我不知道你在說什麼,但是我使用NFC Intent(由標籤上的NDEF觸發),如果它從標籤中讀出特定的NDEF,它就會啓動我的Activity。 –
@AndroidNFC我不想讓自己的活動啓動,但用戶選擇與某人分享某些文本的任何應用程序,例如WhatsApp,電子郵件客戶端等 – FWeigl