หากคุณรูท แต่ไม่ต้องการใช้ Xposed คุณสามารถใช้ไฟร์วอลล์ Intentดั้งเดิมของ Android เพื่อบล็อกการแชร์โดยตรง สิ่งนี้ใช้ได้กับ Android 6.0 ไปจนถึง 8.1:
ดังที่ได้ตอบไว้ก่อนหน้านี้ที่นี่:
การลบผู้ติดต่อ (aka“ แบ่งปันโดยตรง”) จากแผงแบ่งปันใน Marshmallow
ปรากฎว่า - สำหรับคนที่หยั่งราก - มีวิธีปิดการแชร์โดยตรงอย่างสมบูรณ์!
ในการค้นหาวิธีที่จะหยุดคุณลักษณะที่โง่ ๆ นี้จากการบั๊กฉันฉันได้ดูว่าคุณลักษณะดังกล่าวถูกนำไปใช้จริงในแอปโดยนักพัฒนา ปรากฎว่าพวกเขาลงทะเบียนบริการด้วยเครื่องรับความตั้งใจ (อ่าน: ผู้ฟังเหตุการณ์) และเมื่อฉันรู้ว่าฉันเริ่มมองหาวิธีที่จะปิดกั้นบาง Intents จากการออกอากาศผ่านระบบ ดี, Android ได้จริงที่สร้างขึ้นใน. มันเรียกว่าเจตนาของไฟร์วอลล์ ฉันหาวิธีสร้างกฎเพื่อปิดกั้นแอพไม่ให้รับ "เฮ้มีแอพใดที่ต้องการให้ผู้ใช้บั๊กโดยใส่ปุ่ม Direct Share สองปุ่มไว้ใต้นิ้วหัวแม่มือขณะที่พวกเขากำลังจะแตะอะไรบางอย่าง" กิจกรรมผู้รับ
คุณเพิ่งสร้างไฟล์ xml อย่างง่าย ๆ แล้ววางลงในไฟล์:
<rules>
<service block="true" log="true">
<intent-filter>
<action name="android.service.chooser.ChooserTargetService" />
</intent-filter>
</service>
</rules>
ตอนนี้คุณต้องวางไว้ในโทรศัพท์และคัดลอกไปยังไดเรกทอรี Intent Firewall ในอุปกรณ์ส่วนใหญ่ที่จะเป็น
/data/system/ifw/
ฉันเพียงแค่ใช้ Root Explorer เพื่อคัดลอกไฟล์ที่นั่น (ไม่จำเป็นต้องใช้ chmod) พยายามแชร์สิ่งที่ทำให้ Direct Share เป้าหมายปรากฏขึ้นและบูม! ไม่มีอะไร!
ฉันแนะนำให้อ่านแบ็คกราวนด์ (ดูลิงก์ด้านบน) โดยเฉพาะอย่างยิ่งเกี่ยวกับการทำงานของ Intent Firewall และวิธีหาโฟลเดอร์
ดีใจที่ไม่แบ่งปัน!