คำถามติดแท็ก intentfilter


5
วิธีการนำ URI ของฉันไปใช้บน Android
ว่าฉันต้องการกำหนดว่า URI เช่น: myapp://path/to/what/i/want?d=This%20is%20a%20test ต้องได้รับการจัดการโดยแอปพลิเคชันหรือบริการของฉันเอง ขอให้สังเกตว่าโครงการที่เป็น"myapp"และไม่ได้หรือ"http" "ftp"นั่นคือสิ่งที่ฉันตั้งใจอย่างแน่นอน: เพื่อกำหนดสคีมา URI ของฉันเองทั่วโลกสำหรับระบบปฏิบัติการ Android เป็นไปได้ไหม สิ่งนี้คล้ายกับสิ่งที่บางโปรแกรมทำอยู่แล้วเช่นระบบ Windows เช่น Skype ( skype://) หรือโปรแกรมดาวน์โหลดฝนตกหนัก ( torrent://)

2
Android ตอบสนองต่อ URL ในเจตนา
ฉันต้องการความตั้งใจของฉันที่จะเปิดตัวเมื่อผู้ใช้ไปที่ URL ที่แน่นอน: ตัวอย่างเช่นตลาด Android ทำเช่นนี้กับhttp://market.android.com/ urls ดังนั้น youtube ฉันต้องการให้ฉันทำเช่นกัน

6
จะตรวจสอบได้อย่างไรว่าเจตนาสามารถจัดการได้จากกิจกรรมบางอย่าง?
ฉันมีวิธีนี้แล้ว แต่มันก็เหมือนมีบางอย่างหายไป ตัวอย่างเช่นฉันมีไฟล์ /sdcard/sound.3ga ที่ส่งคืนเท็จ (เช่นไม่มีกิจกรรมใดที่สามารถจัดการไฟล์ประเภทนี้ได้) แต่เมื่อฉันเปิดจากตัวจัดการไฟล์มันจะเปิดขึ้นพร้อมกับเครื่องเล่นสื่อโดยไม่มีปัญหา ฉันคิดว่าเจตนานี้ยังไม่สมบูรณ์และฉันต้องทำอะไรเพิ่มเติมเพื่อให้ตัวเองแน่ใจว่าตัวแปร handlerExists จะเป็นเท็จเท่านั้นหากไม่มีกิจกรรมที่สามารถจัดการกับเจตนานี้ได้ PackageManager pm = getPackageManager(); Intent intent = new Intent(android.content.Intent.ACTION_VIEW); String extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(new File(uriString)).toString()); String mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension); intent.setDataAndType(Uri.fromFile(new File(uriString)),mimetype); boolean handlerExists = intent.resolveActivity(pm) != null;

3
การสกัดกั้นลิงก์จากเบราว์เซอร์เพื่อเปิดแอป Android ของฉัน
ฉันต้องการแจ้งให้แอปของฉันเปิดลิงก์เมื่อผู้ใช้คลิก URL ของรูปแบบที่กำหนดแทนที่จะอนุญาตให้เบราว์เซอร์เปิด อาจเกิดขึ้นเมื่อผู้ใช้อยู่บนหน้าเว็บในเบราว์เซอร์หรือในโปรแกรมรับส่งเมลหรือภายใน WebView ในแอปที่เพิ่งสร้างใหม่ ตัวอย่างเช่นคลิกลิงก์ YouTube จากที่ใดก็ได้ในโทรศัพท์คุณจะมีโอกาสเปิดแอป YouTube ฉันจะบรรลุสิ่งนี้สำหรับแอปของตัวเองได้อย่างไร


7
เลือกไฟล์ประเภทใดก็ได้ผ่าน Intent ใน Android
ฉันต้องการเริ่มตัวเลือกเจตนาสำหรับแอปที่สามารถส่งคืนไฟล์ประเภทใดก็ได้ ตอนนี้ฉันใช้ (ซึ่งฉันคัดลอกมาจากซอร์สโค้ดอีเมล Android สำหรับไฟล์แนบ) Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("*/*"); Intent i = Intent.createChooser(intent, "File"); startActivityForResult(i, CHOOSE_FILE_REQUESTCODE); แต่จะแสดงเฉพาะ "แกลเลอรี" และ "เครื่องเล่นเพลง" ใน Galaxy S2 ของฉัน มี file explorer บนอุปกรณ์นี้และฉันต้องการให้มันปรากฏในรายการ ฉันต้องการให้แอพกล้องแสดงในรายการเพื่อให้ผู้ใช้สามารถถ่ายภาพและส่งผ่านแอพของฉันได้ หากฉันติดตั้งโปรแกรมจัดการไฟล์ Astro มันก็จะตอบสนองต่อเจตนานั้นเช่นกัน ลูกค้าของฉันเป็นเจ้าของ Galaxy SII เท่านั้นและฉันไม่ต้องการบังคับให้พวกเขาติดตั้งตัวจัดการไฟล์ Astro เนื่องจากพวกเขามีตัวจัดการไฟล์พื้นฐาน แต่เพียงพอแล้ว มีความคิดว่าฉันจะบรรลุเป้าหมายนี้ได้อย่างไร? ฉันค่อนข้างมั่นใจว่าฉันเห็นตัวจัดการไฟล์เริ่มต้นปรากฏในเมนูเพื่อเลือกไฟล์ แต่ฉันจำไม่ได้ว่าอยู่ในแอปใด

16
ตัวกรองเจตนาของ Android: เชื่อมโยงแอปกับนามสกุลไฟล์
ฉันมีประเภทไฟล์ / นามสกุลที่กำหนดเองที่ต้องการเชื่อมโยงกับแอปของฉัน เท่าที่ฉันรู้องค์ประกอบข้อมูลถูกสร้างขึ้นเพื่อจุดประสงค์นี้ แต่ฉันไม่สามารถใช้งานได้ http://developer.android.com/guide/topics/manifest/data-element.html ตามเอกสารและโพสต์ในฟอรัมจำนวนมากควรทำงานในลักษณะนี้: <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:mimeType="application/pdf" /> </intent-filter> ดีมันไม่ทำงาน ผมทำอะไรผิด? ฉันแค่ต้องการประกาศประเภทไฟล์ของฉันเอง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.