Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Android

จะแบ่งปันเจตนาจาก Intentservice ใน Android ได้อย่างไร?


ก่อนเข้าสู่ตัวอย่าง เราควรรู้ว่า Intent service คืออะไรใน Android Intent Service จะดำเนินการแบ็คกราวด์แบบอะซิงโครนัส เมื่อผู้ใช้เรียกใช้ startService() จากกิจกรรม จะไม่สร้างอินสแตนซ์สำหรับแต่ละคำขอ มันจะหยุดบริการหลังจากดำเนินการบางอย่างในคลาสบริการ มิฉะนั้น เราจำเป็นต้องหยุดบริการโดยใช้ stopSelf()

ตัวอย่างนี้สาธิตวิธีแชร์ความตั้งใจจากเจตนารมณ์

ขั้นตอนที่ 1 − สร้างโครงการใหม่ใน Android Studio ไปที่ไฟล์ ⇒ โครงการใหม่และกรอกรายละเอียดที่จำเป็นทั้งหมดเพื่อสร้างโครงการใหม่

ขั้นตอนที่ 2 − เพิ่มรหัสต่อไปนี้ใน res/layout/activity_main.xml

 
ในโค้ดด้านบนนี้ เราได้ใช้มุมมองข้อความแล้ว เมื่อผู้ใช้คลิกที่มุมมองข้อความ จะเป็นการเปิดกล่องโต้ตอบการแชร์เริ่มต้นจากระบบปฏิบัติการ Android

ขั้นตอนที่ 3 - เพิ่มรหัสต่อไปนี้ใน src/MainActivity.java

แพ็คเกจ com.example.andy.myapplication;นำเข้า android.content.Intent;นำเข้า android.os.Bundle;นำเข้า android.support.v7.app.AppCompatActivity;นำเข้า android.view.View;นำเข้า android.widget.TextView;คลาสสาธารณะ MainActivity ขยาย AppCompatActivity { ข้อความ TextView; @Override ป้องกันโมฆะ onCreate (Bundle saveInstanceState) { super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); ข้อความ =findViewById(R.id.text); text.setOnClickListener (View.OnClickListener ใหม่ () { @แทนที่โมฆะสาธารณะ onClick (ดู v) { startService (เจตนาใหม่ (MainActivity.this, service.class)); } }); }}

สร้างคลาสชื่อไฟล์ service.class และเพิ่มรหัสต่อไปนี้ –

แพ็คเกจ com.example.andy.myapplication;import android.app.IntentService;import android.content.Intent;import android.os.IBinder;บริการคลาสสาธารณะขยาย IntentService {บูลีนสาธารณะที่ระเหยง่ายควรหยุด =false; บริการสาธารณะ () { ซูเปอร์ (service.class.getSimpleName ()); } @Override สาธารณะ IBinder onBind (เจตนาเจตนา) { คืนค่า null; } @Override ป้องกันโมฆะบน HandleIntent (เจตนาเจตนา) { เจตนา SharingIntent =เจตนาใหม่ (android.content.Intent.ACTION_SEND); SharingIntent.setType("ข้อความ/ธรรมดา"); SharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT "เรื่องที่นี่"); SharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Tutorialspoint.com"); startActivity(Intent.createChooser(sharingIntent, "Sharing")); if(shouldStop) { หยุดตัวเอง (); กลับ; } }}

หากต้องการหยุดให้บริการ ให้ใช้รหัสต่อไปนี้ในคลาสบริการ –

stopSelf();

ขั้นตอนที่ 4 − เพิ่มรหัสต่อไปนี้ใน manifest.xml

      <หมวดหมู่ android:name ="android.intent.category.LAUNCHER" />    

มาลองเรียกใช้แอปพลิเคชันของคุณกัน ฉันคิดว่าคุณได้เชื่อมต่ออุปกรณ์มือถือ Android จริงกับคอมพิวเตอร์ของคุณ ในการรันแอพจาก android studio ให้เปิดไฟล์กิจกรรมของโปรเจ็กต์แล้วคลิกไอคอน Run จากแถบเครื่องมือ เลือกอุปกรณ์มือถือของคุณเป็นตัวเลือก จากนั้นตรวจสอบอุปกรณ์มือถือของคุณซึ่งจะแสดงหน้าจอเริ่มต้นของคุณ –

จะแบ่งปันเจตนาจาก Intentservice ใน Android ได้อย่างไร?

ในผลลัพธ์ข้างต้น จะแสดงหน้าจอเริ่มต้นของแอปพลิเคชัน เมื่อผู้ใช้คลิกที่ textview มันจะแสดงกล่องโต้ตอบการแบ่งปันเริ่มต้นจากระบบปฏิบัติการมือถือดังที่แสดงด้านล่าง –

จะแบ่งปันเจตนาจาก Intentservice ใน Android ได้อย่างไร?