คำถามติดแท็ก android-intent

คำถามเกี่ยวกับการใช้งาน Intent, Extent Intent และ Intent ที่รอการอนุมัติในทางปฏิบัติและขั้นสูงเพื่อเริ่มต้นกิจกรรมบริการหรือเพื่อตอบสนองต่อระบบหรือแอปพลิเคชันเหตุการณ์ / การแจ้งเตือนผ่าน BroadcastReceiver (อ้างถึงข้อมูลสำหรับความคุ้นเคยขั้นพื้นฐาน)

12
วิธีกรองแอปเฉพาะสำหรับเจตนา ACTION_SEND (และตั้งค่าข้อความที่แตกต่างกันสำหรับแต่ละแอป)
คุณจะกรองแอพที่เจาะจงเมื่อใช้ ACTION_SEND ได้อย่างไร คำถามนี้ถูกถามในรูปแบบต่าง ๆ แต่ฉันไม่สามารถรวบรวมโซลูชันตามคำตอบที่ได้รับ หวังว่าบางคนสามารถช่วยได้ ฉันต้องการมอบความสามารถในการแบ่งปันภายในแอพ ทำตามคำแนะนำของ Android Dev Alexander Lucasฉันต้องการทำโดยใช้ intents และไม่ใช้ Facebook / Twitter API การแชร์โดยใช้เจตนา ACTION_SEND นั้นยอดเยี่ยม แต่ปัญหาคือ (1) ฉันไม่ต้องการตัวเลือกการแชร์ทุกครั้งที่นั่นฉันควร จำกัด ให้ FB, Twitter และอีเมลและ (2) ฉันไม่ต้องการแชร์ สิ่งเดียวกันกับแต่ละแอปที่ใช้ร่วมกัน ตัวอย่างเช่นในการแบ่งปันทวิตเตอร์ของฉันฉันจะรวมถึงการกล่าวถึงและแฮชแท็ก จำกัด ไว้ที่ 140 ตัวอักษรหรือน้อยกว่าในขณะที่ส่วนแบ่ง Facebook จะรวมลิงค์และภาพคุณสมบัติ เป็นไปได้ไหมที่จะ จำกัด ตัวเลือกสำหรับเจตนา ACTION_SEND (ใช้ร่วมกัน)? ฉันเห็นบางอย่างเกี่ยวกับการใช้ PackageManager และ queryIntentActivities แต่ไม่สามารถเข้าใจการเชื่อมต่อระหว่าง …

15
ฉันจะกลับไปที่กิจกรรมหลักได้อย่างถูกต้องได้อย่างไร?
ฉันมี 2 กิจกรรม (A และ B) ในแอปพลิเคชัน Android ของฉันและฉันใช้ความตั้งใจที่จะได้รับจากกิจกรรม A ถึงกิจกรรม B การใช้ parent_activity ถูกเปิดใช้งาน: <activity android:name=".B" android:label="B" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.app_name.A" /> </activity> ฉันยังใช้ชุดรูปแบบที่มีปุ่มขึ้น ดังนั้นหลังจากที่ฉันเรียกกิจกรรม BI สามารถใช้ปุ่มขึ้นเพื่อกลับไปที่กิจกรรม A ปัญหาคือแอปพลิเคชันดูเหมือนจะเรียกonCreate () -ฟังก์ชั่นของกิจกรรม A อีกครั้งและนี่ไม่ใช่พฤติกรรมที่ฉันต้องการ ฉันต้องการกิจกรรม A เพื่อให้ดูเหมือนกับที่ฉันเรียกก่อนหน้านี้ว่ากิจกรรม B มีวิธีที่จะบรรลุเป้าหมายนี้หรือไม่? ขอบคุณล่วงหน้า แก้ไข: ฉันไม่ได้เขียนโค้ดใด ๆ เพื่อเริ่มกิจกรรม B จากกิจกรรม A. ฉันคิดว่ามันสร้างโดย eclipse คลาส …

12
พบพัสดุที่ IOException กำลังเขียน getactivity วัตถุต่อเนื่อง ()
ดังนั้นฉันได้รับสิ่งนี้ใน logcat: java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = com.resources.student_list.Student) ฉันรู้ว่านี่หมายความว่าชั้นเรียนของฉันไม่ได้ต่อเนื่องกัน แต่มันคือชั้นเรียนของฉัน: import java.io.Serializable; public class Student implements Comparable<Student>, Serializable{ private static final long serialVersionUID = 1L; private String firstName, lastName; private DSLL<Grade> gradeList; public Student() { firstName = ""; lastName = ""; gradeList = new DSLL<Grade>(); } …

9
วิธีสลับกิจกรรมที่ไม่มีภาพเคลื่อนไหวใน Android
ฉันจะใช้การตั้งค่าสถานะ Intent อย่างถูกต้องFLAG_ACTIVITY_NO_ANIMATIONในไฟล์ AndroidManifest ได้อย่างไร ฉันคิดว่าปัญหาของฉันเล็กน้อย แต่ฉันไม่สามารถหาตัวอย่างหรือวิธีแก้ปัญหาที่ดีได้ <intent-filter> <data android:name="android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION" /> </intent-filter> อย่างไรก็ตามไม่มีการรายงานข้อผิดพลาดโดย compliator แต่dataไม่ถูกต้อง ฉันต้องการปิดการใช้งานภาพเคลื่อนไหวในกรณีที่สลับระหว่างกิจกรรม ฉันสามารถใช้getWindow().setWindowAnimations(0);onCreate หรือ onResume แทนได้ แต่การใช้ flag เป็นวิธีที่ดีกว่าใช่ไหม ฉันยังสามารถใช้ในรหัส: Intent intent = new Intent(v.getContext(), newactivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); getContext().startActivity(intent); แต่ฉันต้องการใช้การตั้งค่าสถานะนี้ใน Android Manifest หากต้องการปิดใช้งานภาพเคลื่อนไหวในกรณีที่กลับมาจากกิจกรรมที่สองเป็นครั้งแรก

14
เจตนา ACTION_IMAGE_CAPTURE ของ Android
เรากำลังพยายามใช้แอพกล้องถ่ายรูปเพื่อให้ผู้ใช้ถ่ายภาพใหม่ มันใช้งานได้ดีถ้าเราออกไปEXTRA_OUTPUT extraและส่งกลับภาพบิตแมปขนาดเล็ก อย่างไรก็ตามหากเราputExtra(EXTRA_OUTPUT,...)ตั้งใจก่อนที่จะเริ่มทุกอย่างทำงานได้จนกว่าคุณจะพยายามกดปุ่ม "ตกลง" ในแอพกล้อง ปุ่ม "ตกลง" ไม่ทำอะไรเลย แอพกล้องเปิดอยู่และไม่มีอะไรล็อค เราสามารถยกเลิกได้ แต่ไฟล์ไม่เคยเขียน เราต้องทำอะไรเพื่อให้ได้ACTION_IMAGE_CAPTUREภาพที่เขียนไปยังไฟล์? แก้ไข: สิ่งนี้กระทำผ่านMediaStore.ACTION_IMAGE_CAPTUREเจตนาเพื่อให้ชัดเจน

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 ฉันต้องการให้ฉันทำเช่นกัน

17
อนุญาตให้ผู้ใช้เลือกกล้องหรือแกลเลอรี่ภาพ
สิ่งที่ฉันพยายามทำดูเหมือนง่ายมาก แต่หลังจากสองสามวันของการค้นหาฉันไม่สามารถเข้าใจได้ ฉันมีแอปพลิเคชั่นที่อนุญาตให้ผู้ใช้เลือกภาพหลายภาพ (มากถึง 5) ภาพ ImageViewฉันใช้ เมื่อผู้ใช้คลิกที่ImageViewฉันต้องการอนุญาตให้พวกเขาเลือกได้ เลือกภาพจากแกลเลอรี่หรือ ใช้กล้องเพื่อถ่ายภาพ ฉันเริ่มต้นด้วยการใช้ACTION_GET_CONTENTความตั้งใจและมันทำงานได้ดีสำหรับการไปที่แกลเลอรี ดังนั้นฉันจึงลองใช้ACTION_PICK_ACTIVITYความตั้งใจที่จะอนุญาตให้ผู้ใช้เลือกกล้องหรือแกลเลอรี่: Intent pickIntent = new Intent(Intent.ACTION_PICK_ACTIVITY); Intent gallIntent=new Intent(Intent.ACTION_GET_CONTENT); gallIntent.setType("image/*"); Intent camIntent = new Intent("android.media.action.IMAGE_CAPTURE"); pickIntent.putExtra(Intent.EXTRA_INTENT, camIntent); pickIntent.putExtra(Intent.EXTRA_INTENT, gallIntent) pickIntent.putExtra(Intent.EXTRA_TITLE, "Select Source"); startActivityForResult(pickIntent, IMAGE_SELECTOR); EXTRA_INTENTแต่ปรากฏว่าฉันสามารถเพิ่มหนึ่ง เมนูแสดงขึ้นตามที่คาดไว้ แต่ตัวเลือกเท่านั้นคือคลังภาพและไฟล์ .... ไม่มีกล้อง) มีวิธีที่ดีกว่า / ง่ายกว่าในการทำสิ่งนี้ที่ฉันขาดไป ขอบคุณสำหรับความช่วยเหลือ

2
onNewIntent () วงจรชีวิตและผู้ฟังที่ลงทะเบียน
ฉันใช้กิจกรรม singleTop onNewIntent()เจตนาที่จะได้รับจากการค้นหาโต้ตอบผ่าน สิ่งที่ผมสังเกตเห็นก็คือว่าonPause()จะเรียกว่าก่อนแล้วหลังจากนั้นจะเรียกonNewIntent() onResume()สายตา: กล่องโต้ตอบการค้นหาเริ่มต้น เจตนาการค้นหาถูกไล่ออกจากกิจกรรม onPause() onNewIntent() onResume() ปัญหาคือฉันมีผู้ฟังที่ลงทะเบียนในonResume()ที่ได้รับการลบonPause()แต่พวกเขามีความจำเป็นในการonNewIntent()โทร มีวิธีมาตรฐานในการทำให้ผู้ฟังเหล่านั้นว่างหรือไม่?

18
แอพ Android YouTube เล่นวิดีโอแสดงเจตนา
ฉันได้สร้างแอพที่คุณสามารถดาวน์โหลดวิดีโอ YouTube สำหรับ Android ตอนนี้ฉันต้องการมันเพื่อที่ว่าถ้าคุณเล่นวิดีโอในแอปเนทีฟของ YouTube คุณสามารถดาวน์โหลดได้เช่นกัน ในการทำเช่นนี้ฉันจำเป็นต้องทราบเจตนาที่แอปเนทีฟของ YouTube ออกมาเพื่อที่จะเล่นแอพ YouTube ฉันจะทำเช่นนี้ easially ถ้าผมมีโปรแกรม YouTube บนจำลองของฉันดังนั้นคำถามที่ 1 ของฉันคือ 1. ฉันสามารถดาวน์โหลดแอป YouTube สำหรับจำลองของเราหรือ ... 2. อะไรคือความตั้งใจที่จะใช้เมื่อผู้ใช้เลือกวิดีโอ สำหรับการเล่น

8
Android: แบ่งปันข้อความธรรมดาโดยใช้ความตั้งใจ (ไปยังแอปส่งข้อความทั้งหมด)
ฉันพยายามแบ่งปันข้อความโดยใช้เจตนา: Intent i = new Intent(android.content.Intent.ACTION_SEND); i.setType("text/plain"); i.putExtra(android.content.Intent.EXTRA_TEXT, "TEXT"); และแปรปรวนกับตัวเลือก: startActivity(Intent.createChooser(sms, getResources().getString(R.string.share_using))); มันได้ผล! แต่สำหรับแอปอีเมลเท่านั้น สิ่งที่ฉันต้องการคือความตั้งใจทั่วไปสำหรับแอพส่งข้อความทั้งหมด: อีเมล, SMS, IM (Whatsapp, Viber, Gmail, SMS ... ) ลองใช้android.content.Intent.ACTION_VIEW และลองใช้โดยi.setType("vnd.android-dir/mms-sms");ไม่ได้ช่วยอะไรเลย ... ( "vnd.android-dir/mms-sms"ใช้ร่วมกันโดยใช้ sms เท่านั้น!)

20
เปิดตัวแอปพลิเคชัน SMS ด้วยเจตนา
ฉันมีคำถามเกี่ยวกับเจตนา ... ฉันพยายามเปิดแอพ sms ... Intent intent = new Intent(Intent.ACTION_MAIN); intent.setType("vnd.android-dir/mms-sms"); int flags = Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP; intent.setFlags(flags); intent.setData(Uri.parse("content://sms/inbox")); context.startActivity(intent); ดังนั้นคุณจะเห็นว่าฉันตั้งใจทำสิ่งต่าง ๆ มากเกินไป แต่นั่นเป็นเพราะฉันไม่รู้ว่าฉันจะทำได้อย่างไร ... ขอบคุณ

10
ติดตั้ง / ถอนการติดตั้ง APKs ทางโปรแกรม (PackageManager vs Intents)
แอปพลิเคชันของฉันติดตั้งแอปพลิเคชันอื่นและจำเป็นต้องติดตามแอปพลิเคชันที่ติดตั้งไว้ แน่นอนว่าสามารถทำได้โดยเพียงแค่เก็บรายการแอปพลิเคชั่นที่ติดตั้งไว้ แต่สิ่งนี้ไม่จำเป็น! ควรเป็นความรับผิดชอบของ PackageManager ในการรักษาความสัมพันธ์ที่ติดตั้งโดย (a, b) ในความเป็นจริงตาม API มันคือ: public abstract String getInstallerPackageName (String packageName) - ดึงชื่อแพ็คเกจของแอปพลิเคชั่นที่ติดตั้งแพ็คเกจ สิ่งนี้บ่งชี้ว่าตลาดบรรจุภัณฑ์มาจากไหน แนวทางปัจจุบัน ติดตั้ง APK โดยใช้เจตนา Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(apkUri, "application/vnd.android.package-archive"); startActivity(intent); ถอนการติดตั้ง APK โดยใช้เจตนา: Intent intent = new Intent(Intent.ACTION_DELETE, Uri.fromParts("package", getPackageManager().getPackageArchiveInfo(apkUri.getPath(), 0).packageName,null)); startActivity(intent); เห็นได้ชัดว่านี่ไม่ใช่วิธีการเช่นการติดตั้ง / ถอนการติดตั้งแพคเกจ Android Market พวกเขาใช้ …

20
เปิดแอปพลิเคชันอื่นจากคุณเอง (เจตนา)
ฉันรู้วิธีอัปเดตโปรแกรมของตัวเองและฉันรู้วิธีเปิดโปรแกรมโดยใช้ Uri ที่กำหนดไว้ล่วงหน้า (เช่น sms หรืออีเมลเป็นต้น) ฉันต้องทราบว่าฉันสามารถสร้างเจตจำนงเพื่อเปิด MyTracks หรือแอปพลิเคชันอื่น ๆ ที่ฉันไม่ทราบว่าพวกเขาตั้งใจฟังอะไร ฉันได้รับข้อมูลนี้จาก DDMS แต่ฉันไม่สามารถเปลี่ยนเป็น Intent ที่ฉันสามารถใช้ได้ สิ่งนี้นำมาจากเมื่อเปิด MyTracks ด้วยตนเอง ขอบคุณสำหรับความช่วยเหลือของคุณ 05-06 11:22:24.945: INFO/ActivityManager(76): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks bnds=[243,338][317,417] } 05-06 11:22:25.005: INFO/ActivityManager(76): Start proc com.google.android.maps.mytracks for activity com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks: pid=1176 uid=10063 gids={3003, 1015} 05-06 11:22:26.995: INFO/ActivityManager(76): Displayed …

10
วิธีการตรวจจับสายเรียกเข้าในอุปกรณ์ Android?
ฉันกำลังพยายามสร้างแอพเช่นเมื่อมีสายเข้ามาในโทรศัพท์ฉันต้องการตรวจจับหมายเลข ด้านล่างเป็นสิ่งที่ฉันพยายาม แต่ไม่พบสายเรียกเข้า ฉันต้องการเรียกใช้เป็นMainActivityพื้นหลังฉันจะทำอย่างไร ฉันได้รับอนุญาตในmanifestไฟล์ <uses-permission android:name="android.permission.READ_PHONE_STATE"/> มีอะไรอีกบ้างที่ฉันควรให้ในรายการ? public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.test_layout); } public class myPhoneStateChangeListener extends PhoneStateListener { @Override public void onCallStateChanged(int state, String incomingNumber) { super.onCallStateChanged(state, incomingNumber); if (state == TelephonyManager.CALL_STATE_RINGING) { String phoneNumber = incomingNumber; } } …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.