উত্তর:
এটি অর্জনের দুটি উপায়।
1) ব্যবহারকারীর মিথস্ক্রিয়া ছাড়াই কোডের মাধ্যমে ডায়ালার শুরু করা দরকার।
তোমার দরকার Action_Dial
,
নীচের কোড ব্যবহার করুন এটি নির্দিষ্ট নম্বর সহ ডায়ালার খুলবে
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:0123456789"));
startActivity(intent);
'টেলিফোন' উপসর্গটি আবশ্যক , অন্য যেটি নিম্নলিখিত ব্যতিক্রম নিক্ষেপ করা হবে: java.lang.IllegalStateException: ক্রিয়াকলাপের পদ্ধতিটি কার্যকর করতে পারেনি।
অ্যাকশন_ডায়ালের কোনও অনুমতি প্রয়োজন হয় না।
আপনি যদি ব্যবহারকারীর মিথস্ক্রিয়া ছাড়াই কলটি সরাসরি শুরু করতে চান তবে আপনি ক্রিয়াটি ব্যবহার করতে পারেন Intent.ACTION_CALL
। এই ক্ষেত্রে, আপনাকে অবশ্যই আপনার AndroidManLive.xML এ নিম্নলিখিত অনুমতিটি যুক্ত করতে হবে:
<uses-permission android:name="android.permission.CALL_PHONE" />
২) ফোন_ নাম্বার স্ট্রিংয়ে ক্লিক করতে এবং কলটি শুরু করতে ব্যবহারকারীর প্রয়োজন।
android:autoLink="phone"
নীচের সম্পত্তি সহ আপনার টেক্সটভিউ ব্যবহার করা উচিত।
অ্যান্ড্রয়েড: অটোলিঙ্ক = "ফোন" অ্যান্ড্রয়েড: লিঙ্কস ক্লিকযোগ্য = "সত্য" একটি পাঠ্য দেখার সম্পত্তি
আপনাকে এইভাবে অভিপ্রায় ব্যবহার বা অনুমতি পাওয়ার দরকার নেই।
উত্তরে দেরি হয়ে গেছে, তবে আপনার যদি TextView
ফোন নম্বরটি দেখানো হচ্ছে এমন কিছু থাকে তবে আপনার অভিপ্রায়গুলি মোকাবেলা করার দরকার নেই, আপনি কেবল এক্সএমএল বৈশিষ্ট্যটি ব্যবহার করতে পারেন android:autoLink="phone"
এবং ওএস স্বয়ংক্রিয়ভাবে একটি ACTION_DIAL
উদ্দীপনা শুরু করবে ।
উপরে উল্লিখিত @ashishduh হিসাবে, ব্যবহার android:autoLink="phone
করাও একটি ভাল সমাধান। তবে এই বিকল্পটি একটি অপূর্ণতা নিয়ে আসে, এটি সমস্ত ফোন নম্বর দৈর্ঘ্যের সাথে কাজ করে না। উদাহরণস্বরূপ, ১১ নম্বর সংখ্যার একটি ফোন নম্বর এই বিকল্পটির সাথে কাজ করবে না। সমাধানটি হ'ল দেশের কোড সহ আপনার ফোন নম্বরগুলি উপসর্গ করা।
উদাহরণ:
08034448845
কাজ করবে না
কিন্তু +2348034448845
হবে
ম্যানিফেস্টে অনুমতি যুক্ত করুন:
<uses-permission android:name="android.permission.CALL_PHONE" />
বোতাম বা কোনও উইজেটের উদাহরণ তৈরি করুন: btnCall
btnCall.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent callIntent = new Intent(Intent.ACTION_DIAL);
callIntent.setData(Uri.parse("tel: +98990*******");
startActivity(callIntent);
}
});