البرمجة

كيفية التحقق من وجود بطاقة SIM في جهاز Android

To check if a SIM card is inserted in an Android device and show a dialog if it’s not, you can use the TelephonyManager class to get the SIM state. Here’s how you can do it:

First, add the required permission to your AndroidManifest.xml file:

xml
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

Then, in your activity or fragment, you can use the following code:

java
import android.content.Context; import android.content.DialogInterface; import android.support.v7.app.AlertDialog; import android.telephony.TelephonyManager; import android.widget.Toast; public class MyActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); if (telephonyManager.getSimState() == TelephonyManager.SIM_STATE_ABSENT) { // SIM card is not inserted, show dialog showDialog(); } else { // SIM card is inserted, do something // For example, show a toast Toast.makeText(this, "SIM card is inserted", Toast.LENGTH_SHORT).show(); } } private void showDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("SIM card not found") .setMessage("Please insert a SIM card to continue.") .setPositiveButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { // Close the dialog dialog.dismiss(); } }); AlertDialog dialog = builder.create(); dialog.show(); } }

This code checks if a SIM card is inserted using telephonyManager.getSimState(). If the SIM card is absent, it shows an alert dialog using the showDialog() method. If the SIM card is present, it shows a toast message.

المزيد من المعلومات

بالطبع! في تطبيق الأندرويد، يُستخدم الـ SIM (Subscriber Identity Module) للاتصال بالشبكة الخلوية وتنفيذ العديد من الوظائف المتعلقة بالاتصالات. إذا كنت ترغب في التحقق مما إذا كانت بطاقة SIM مدرجة في الجهاز أم لا، يمكنك استخدام الطرق التالية:

  1. استخدام الـ TelephonyManager: يمكنك استخدام فئة TelephonyManager للتحقق من حالة بطاقة SIM. تحتاج إلى إضافة إذن READ_PHONE_STATE إلى ملف AndroidManifest.xml كما ذكرته سابقًا. يمكنك استخدام الكود التالي:
java
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); if (telephonyManager.getSimState() == TelephonyManager.SIM_STATE_ABSENT) { // لم يتم إدراج بطاقة SIM، يمكنك هنا عرض حوار أو إجراء إجراء آخر } else { // تم إدراج بطاقة SIM }
  1. استخدام الـ SubscriptionManager (API 22+): تسمح هذه الفئة بإدارة معلومات الاشتراكات، بما في ذلك معلومات بطاقات SIM. يمكنك استخدامها للتحقق من وجود بطاقة SIM مُدرجة. تحتاج إلى إضافة إذن READ_PHONE_STATE كذلك.
java
SubscriptionManager subscriptionManager = SubscriptionManager.from(context); List activeSubscriptionInfoList = subscriptionManager.getActiveSubscriptionInfoList(); if (activeSubscriptionInfoList == null || activeSubscriptionInfoList.isEmpty()) { // لم يتم إدراج بطاقة SIM } else { // تم إدراج بطاقة SIM }

يُفضل استخدام الـ TelephonyManager لأنها متوافقة مع API أقدم، بينما تتطلب SubscriptionManager API level 22 على الأقل.

إذا كنت ترغب في معرفة المزيد عن كيفية استخدام هذه الفئات أو إضافة أي تحسينات أخرى، فلا تتردد في طرح أي استفسار.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر