FMUSER وائرلیس ترسیل ویڈیو اور آڈیو زیادہ آسان!

[ای میل محفوظ] واٹس ایپ + ایکس این ایم ایکس
زبان

    اینڈروئیڈ میں براڈکاسٹ کی تفصیلی وضاحت

     

    براڈکاسٹنگ کو دو مختلف اقسام میں تقسیم کیا گیا ہے: "عمومی نشریات" اور "آرڈرڈ براڈکاسٹس"۔ عام نشریاتی مکمل طور پر غیر متزلزل ہے اور ایک ہی وقت میں تمام براڈکاسٹ وصول کنندگان (منطقی) سے وصول کرسکتے ہیں۔ میسج ڈلیوری کی کارکردگی نسبتا high زیادہ ہے ، لیکن نقصان یہ ہے کہ وصول کنندہ پروسیسنگ کے نتیجے کو اگلے وصول کنندہ تک نہیں پہنچا سکتا ، اور اسے ختم نہیں کیا جاسکتا ہے۔ نشریاتی ارادے کی تشہیر؛ تاہم ، آرڈرڈ نشریات وصول کنندہ کے ذریعہ اعلان کردہ ترجیح پر مبنی ہے (android میں اعلان کیا گیا ہے: ارادے کے فلٹر عنصر کی ترجیحی وصف ، جتنی بڑی تعداد ، ترجیح زیادہ ، قدر کی حد: -1000 سے 1000۔ یہ بھی ہے ممکنہ طور پر سیٹ کرنے کیلئے انٹیل فِلٹر آبجیکٹ کے سیٹ پرائریٹی () کو کال کریں ، اور وصول کنندہ کو موڑ کے طور پر براڈکاسٹ موصول ہوتا ہے۔ مثال کے طور پر ، اگر A کی سطح B سے زیادہ ہے ، اور B کی سطح C سے زیادہ ہے ، تو براڈکاسٹ پہلے A ، پھر B ، اور آخر C کو نشر ہونے کے بعد منتقل ہوتا ہے۔ براڈکاسٹ میں ڈیٹا اسٹور کرسکتے ہیں۔ جب براڈکاسٹ B کو بھیجا جاتا ہے تو ، B نشریات سے A کا ذخیرہ کردہ ڈیٹا حاصل کرسکتا ہے۔

     

    سیاق و سباق کا نشریاتی راستہ ()

       جو بھیجا جاتا ہے وہ ایک عام نشریات ہے ، اور تمام صارفین کو اسے حاصل کرنے اور اس پر کارروائی کرنے کا موقع ملا ہے۔

     

    سیاق و سباق والا براڈکاسٹ ()

       بھیجنا ایک منظم نشر ہے۔ یہ نظام وصول کنندگان کے ذریعہ اعلان کردہ ترجیح کے مطابق ایک ایک کرکے وصول کرے گا۔ پچھلے وصول کنندہ کو براڈکاسٹ (براڈکاسٹ رسیور.ابورٹ براڈکاسٹ) کو ختم کرنے کا حق حاصل ہے۔ اگر سابقہ ​​وصول کنندہ کے ذریعہ براڈکاسٹ ختم ہوجائے تو ، مؤخر الذکر وصول کنندہ مزید براڈکاسٹ نہیں کرسکتا ہے۔ آرڈرڈ نشریات کے لئے ، سابقہ ​​وصول کنندہ پروسیسنگ کے نتیجے کو نشریاتی مقصد میں اسٹور کرسکتا ہے ، اور پھر اگلے وصول کنندہ کے پاس بھیج سکتا ہے۔

     
    براڈکاسٹ ریسیور (براڈکاسٹ رسید) کا استعمال نشریاتی اہداف وصول کرنے کے لئے کیا جاتا ہے ، اور براڈکاسٹ انٹینٹ بھیجنے کا احساس Context.sendBroadcast () اور Context.sendOrriedBroadcast () پر کال کرکے ہوتا ہے۔ عام طور پر براڈکاسٹ کا مقصد ایک سے زیادہ نشریاتی وصول کنندگان کے ذریعہ حاصل کیا جاسکتا ہے جس نے اس ارادے کو سبسکرائب کیا ہے۔ یہ خصوصیت جے ایم ایس میں ٹاپک میسج وصول کرنے والوں کی طرح ہے۔ مندرجہ ذیل کے طور پر ایک براڈکاسٹ وصول کرنے کا طریقہ نافذ کرنا ہے:

     

    پہلا مرحلہ: براڈکاسٹ وصول کنندہ کی وضاحت کریں ، براڈکاسٹ وصول کنندہ کا وارث ہوں ، اور آنرسیپ () طریقہ کو دوبارہ لکھیں۔

    عوامی کلاس آنے والے ایس ایم ایس وصول کنندہ توسیع کرتا ہے براڈکاسٹ ریسرسیور {
      @ آؤر رائیڈ پبلک باطل آنرسیٹ (سیاق و سباق ، نیت) {
      }
    }

     

    مرحلہ 2: دلچسپی کی نیت سے نشریات کو سبسکرائب کریں ، خریداری کے دو طریقے ہیں:

    پہلی قسم: سبسکرائب کرنے کیلئے کوڈ استعمال کریں (متحرک سبسکرپشن)

    انٹینٹ فلٹر فلٹر = newInttentFilter ("android.provider.Telephony.SMS_RECEIVED")؛
    IncomingSMSReceiver وصول کرنے والا = newIncomingSMSReceiver ()؛
    رجسٹر وصول (وصول کنندہ ، فلٹر)؛

     

    دوسری قسم: میں سبسکرائب کریں AndroidManLive.xML فائل میں نوڈ (مستحکم رکنیت)


      
           
      


    آئیے متحرک نشریاتی خریداری اور مستحکم براڈکاسٹ سبسکرپشن کے درمیان فرق پر ایک نظر ڈالتے ہیں:
    جامد سبسکرپشن براڈکاسٹ بھی کہا جاتا ہے: رہائشی نشریات۔ جب آپ کی درخواست بند ہوجاتی ہے ، اگر کوئی براڈکاسٹ پیغام موجود ہو تو ، جو براڈکاسٹ ریسیور آپ نے لکھا ہے وہ بھی وصول کرسکتا ہے۔ اس کی رجسٹریشن کا طریقہ آپ کی درخواست میں AndroidManifast ہے۔ سب سکریپشن کے لئے .xML

     

    متحرک سبسکرپشن براڈکاسٹ بھی کہا جاتا ہے: غیر رہائشی نشریات۔ جب درخواست ختم ہوجائے گی تو ، نشریاتی طور پر قدرتی طور پر ختم ہوجائے گا مثال کے طور پر ، آپ سرگرمی میں onCreate یا onSesume میں براڈکاسٹ کی رکنیت لیتے ہیں ، اور آپ کو onDestory یا onPause میں براڈکاسٹ کی رکنیت کو منسوخ کرنا ہوگا۔ بصورت دیگر ، ایک استثناء کی اطلاع دی جائے گی ، لہذا آپ کا براڈکاسٹ وصول کنندہ غیر رہائشی ہوگا۔

     

    یہاں ایک اور تفصیل ہے جو خریداری کے دو طریقے ہیں۔ نشریات بھیجتے وقت ، آپ کو اس طرف دھیان دینے کی ضرورت ہے: متحرک اندراج کا طریقہ متحرک اندراج کے لئے استعمال ہوتا ہے ، لہذا آپ کو براڈکاسٹ بھیجتے وقت بھیجنے کے لئے مضمین ارادے کا استعمال کرنے کی ضرورت ہے۔ ، بصورت دیگر براڈکاسٹ وصول کنندہ براڈکاسٹ وصول نہیں کر سکے گا۔ اس نکتے پر دھیان دیں۔ لیکن جب اعدادوشمار کو سبسکرائب کرتے ہوئے ، کیوں کہ یہ AndroidMainfest.xML میں سبسکرائب کیا گیا ہے ، تو براڈکاسٹ بھیجتے وقت ڈسپلے انٹینٹ اور انپلیٹ ارادے کا استعمال کرنا ممکن ہے (یقینا this یہ صرف اپنے ذریعہ بیان کردہ براڈکاسٹ ریسیورز کے لئے ہے) ، لہذا صرف اس صورت میں ، ہم عموما imp مضمر کا استعمال کرتے ہیں نشریات بھیجنے کا ارادہ ہے۔

     

    آئیے ایک مثال دیکھیں:

    منصوبے کے ڈھانچے پر ایک نظر ڈالیں:

     

    جامد سبسکرپشن براڈکاسٹ پر ایک نظر ڈالیں:
    پیکیج com.broadcast.demo؛

    درآمد android.app.Activity؛
    android.content.Intant درآمد کریں۔
    درآمد android.os.Bundle؛
    درآمد android.view.View؛
    android.view.View.OnClickListener درآمد کریں؛
    درآمد android.widget.Button؛

    com.example.androidbroadcastdemo.R درآمد کریں؛

    / **
     * جامد سبسکرپشن براڈکاسٹ
     *Author weijiang204321
     *
     */
    عوامی کلاس اسٹیٹکریجسٹر براڈکاسٹ سرگرمی کی سرگرمی extend

    ٹویٹ ایمبیڈ کریں
    محفوظ شدہ باطل آن کریٹ (بنڈل سیفڈ انسٹنس اسٹیٹ) {
    super.onCreate (SaveInstanceState)؛
    سیٹ کانٹ ویو (R.layout.activity_main)؛
    بٹن btn = (بٹن) FindViewById (R.id.btn)؛
    کرنے کے لئے
    btn.setOnClickListener (نیا آن کلیک لسٹنر () {
    ٹویٹ ایمبیڈ کریں
    کلیک (کالم دیکھیں) on
    // نشریات کو رجسٹر کرنے کے لئے ایک مستحکم طریقہ استعمال کریں ، آپ براڈکاسٹ بھیجنے کے لئے ڈسپلے کے ارادے کا استعمال کرسکتے ہیں
    نیت نشریات = نیا نیت ("com.broadcast.set.broadcast")؛
    ارسال بروڈکاسٹ (براڈکاسٹ ، کال)
    }
    کرنے کے لئے
    })؛
    }
    کرنے کے لئے
    }


    AndroidMainfest.xml میں سبسکرائب کریں:


    <XML ورژن = "1.0" انکوڈنگ = "UTF 8"؟>
    <manifest xmlns:android="
    http://schemas.android.com/apk/res/android"
        پیکیج = "com.example.androidbroadcastdemo"
        android: versionCode = "1"
        android: versionName = "1.0">

        <uss-sdk
            android: minSdkVersion = "8"
            android: targetSdkVersion = "18" />
       
       
       
       
       
       

        <درخواست
            android: اجازتBackup = "سچ"
            android: آئکن = "@ ڈرا ایبل / آئک_ لونچر"
            android: label = "@ string / app_name"
            android: تھیم = "@ اسٹائل / ایپ تھیم">
            <سرگرمی
                android: name = "com.broadcast.demo.StaticRegisterBroadcastActivity"
                android: label = "@ string / app_name">
               
                   
                   
               
           
           
           
           
               
                   
               
           
           
           
           
           
               
                   
               
           
           
           
           
               
                   
               
           
           
           
           
           
               
                   
               
           
           
       

    ابھی دوسرے مشمولات کی فکر نہ کریں ، کیوں کہ ہم بعد میں بات کریں گے ، یہاں ہم صرف جامد نشریات کی رجسٹریشن پر ہی فوکس کرتے ہیں۔


          
               
                   
               
           


    آئیے براڈکاسٹ کے وصول کنندہ پر ایک نظر ڈالیں:

    پیکیج com.broadcast.receiver؛

    درآمد android.content.BroadcastReceiver؛
    android.content.Context درآمد کریں؛
    android.content.Intant درآمد کریں۔
    درآمد android.util.Log؛

    / **
     * براڈ کاسٹ وصول کنندہ
     *Author weijiang204321
     *
     */
    عوامی کلاس UnSortBroadcastReceiver نے توسیع براڈکاسٹ وصول کی i

    ٹویٹ ایمبیڈ کریں
    عوامی باطل آن وصول کریں (سیاق و سباق ، نیت کا ارادہ) {
    لوگگ۔ ("ارادے_عاملہ:" ، ارادے.بیٹ ایکشن () + "")؛
    }

    }
    براڈکاسٹ وصول کنندہ میں onR રીسیپ طریقہ میں منطق بہت آسان ہے ، جو ایکشن کے مواد کو پرنٹ کرنا ہے۔
    پروگرام چلائیں ، نتیجہ بہت آسان ہے ، یہاں تصویر نہیں ہے۔

     

    آئیے متحرک رکنیت پر ایک نظر ڈالیں:


    پیکیج com.broadcast.demo؛

    درآمد android.app.Activity؛
    android.content.Intant درآمد کریں۔
    درآمد android.content.InttentFilter؛
    درآمد android.os.Bundle؛
    درآمد android.view.View؛
    android.view.View.OnClickListener درآمد کریں؛
    درآمد android.widget.Button؛

    درآمد کریں com.broadcast.receiver.UnSortBroadcastReceiver؛
    com.example.androidbroadcastdemo.R درآمد کریں؛

    / **
     * نشریات کو رجسٹر کرنے کے لئے متحرک طریقہ استعمال کریں
     *Author weijiang204321
     *
     */
    عوامی کلاس متحرک رجسٹر براڈکاسٹ سرگرمی کی سرگرمی extend
    کرنے کے لئے
    عوامی جامد حتمی اسٹرنگ NEW_LIFEFORM_DETECTED = "com.dxz.broadcasttest.NEW_LIFEFORM"؛
    غیر محفوظ شدہ براڈکاسٹ ریسرسیور وصول کرنے والا۔
    کرنے کے لئے
    ٹویٹ ایمبیڈ کریں
    محفوظ شدہ باطل آن کریٹ (بنڈل سیفڈ انسٹنس اسٹیٹ) {
    super.onCreate (SaveInstanceState)؛
    سیٹ کانٹ ویو (R.layout.activity_main)؛
    بٹن btn0 = (بٹن) FindViewById (R.id.btn)؛
    btn0.setOnClListener (نیا OnClickListener () {
    کلیک (کالم دیکھیں) on
    // براڈکاسٹ بھیجیں
    نیت یہ = نیا نیت (NEW_LIFEFORM_DETECTED)؛
    ارسال بروڈکاسٹ (یہ)؛
    }
    })؛
    }

    ٹویٹ ایمبیڈ کریں
    محفوظ باطل onResume () {
    super.onResume ()؛
    // نشریات کے لئے اندراج کریں
    انٹیٹ فلٹر کاؤنٹرآکشن فلٹر = نیا انٹاٹ فلٹر (NEW_LIFEFORM_DETECTED)؛
    وصول کنندہ = نیا UnSortBroadcastReceiver ()؛
    رجسٹر وصول (وصول کنندہ ، انسداد عمل فلٹر)؛
    }

    ٹویٹ ایمبیڈ کریں
    محفوظ باطل onPause () {
    super.onPause ()؛
    // براڈکاسٹ منسوخ کریں
    اندراج شدہ وصول کنندہ (وصول کنندہ)؛
    }
    }
    ہم یہاں onResume میں براڈکاسٹنگ کی رکنیت لے رہے ہیں ، اور آن پز میں براڈکاسٹنگ کی رکنیت ختم کر رہے ہیں۔
    AndroidMainfest.xml میں شروع کردہ سرگرمی کو DynamicRegisterBroadcastActivity میں تبدیل کریں۔ دوسرے مواد میں ترمیم کرنے کی ضرورت نہیں ہے۔ پروگرام چلائیں اور پرنٹ کرنا نتیجہ بہت آسان ہے ، لہذا میں یہاں تصویر نہیں دیکھوں گا۔

     

    آئیے آرڈرڈ براڈکاسٹنگ اور غیر منظم نشریات پر ایک نگاہ ڈالیں

    ہم شروع میں اس کا تذکرہ کرچکے ہیں ، آئیے غیر منحرف نشریات پر ایک نگاہ ڈالیں:

    پہلے ہم دو نشریاتی وصول کنندگان کی وضاحت کرتے ہیں۔

    پہلا براڈکاسٹ رسیور:


    پیکیج com.broadcast.receiver؛

    درآمد android.content.BroadcastReceiver؛
    android.content.Context درآمد کریں؛
    android.content.Intant درآمد کریں۔
    درآمد android.util.Log؛

    / **
     * براڈکاسٹ وصول کرنے والا A
     *Author weijiang204321
     *
     */
    عوامی کلاس SortBroadcastReceiverA نے براڈکاسٹ رسیور میں توسیع کردی ہے {

    ٹویٹ ایمبیڈ کریں
    عوامی باطل آن وصول کریں (سیاق و سباق ، نیت کا ارادہ) {
    لوگگ۔ ("ڈیمو:" ، "براڈکاسٹ وصول کنندہ A")؛
    }

    }
    دوسرا براڈکاسٹ وصول کنندہ:

    پیکیج com.broadcast.receiver؛

    درآمد android.content.BroadcastReceiver؛
    android.content.Context درآمد کریں؛
    android.content.Intant درآمد کریں۔
    درآمد android.util.Log؛

    / **
     * براڈکاسٹ وصول کنندہ بی
     *Author weijiang204321
     *
     */
    عوامی کلاس SortBroadcastReceiverB نے براڈکاسٹ رسیور میں توسیع کردی ہے {

    ٹویٹ ایمبیڈ کریں
    عوامی باطل آن وصول کریں (سیاق و سباق ، نیت کا ارادہ) {
    لوگگ۔ ("ڈیمو:" ، "براڈکاسٹ بی")؛
    }

    کرنے کے لئے
    کرنے کے لئے
    }


    AndroidMainfest.xml میں نشر کرنے کے لئے سبسکرائب کریں


     
               
                   
               

           

               
                   
               

    آپریشن کا نتیجہ:


    چل رہا نتیجہ کچھ عجیب ہے۔ سامنے میں وصول کنندگان B اور پشت میں وصول کنندہ A کیوں ہے؟ اس کی وجہ یہ ہے کہ جب ہم AndroidMainfest.xML میں براڈکاسٹ کو سبسکرائب کرتے ہیں تو ، ہم ارادے کے فلٹر میں android: ترجیحی وصف کی قیمت متعین کرتے ہیں۔ قدر جتنی زیادہ ہوگی ، ترجیح اتنی زیادہ ہوگی۔ ، وصول کنندگان B کی ترجیح 1000 ہے ، وصول کنندہ A کی ترجیح 999 ہے ، لہذا B پہلے براڈکاسٹ وصول کرتا ہے ، اور پھر A اسے موصول ہوتا ہے ، لیکن وصول کنندہ B اور وصول کنندہ A کے درمیان کوئی رابطہ نہیں ہے ، اور کوئی تعامل نہیں ہوسکتا ہے ، چونکہ یہ آؤٹ آؤٹ آرڈر براڈکاسٹ اور سنجیدہ ہے ، لہذا ہم B میں onReceiver کے طریقہ کار میں کوڈ شامل کرکے ایک تجربہ کرسکتے ہیں۔

    abortBroadcast ()؛ // اس نشریات کی نشریات کو ختم کریں

    آپریشن کا نتیجہ:

     

    ہم فوری طور پر غلطی دیکھ سکتے ہیں ، یعنی غیر آرڈرڈ براڈکاسٹ کو براڈکاسٹ ختم کرنے کی اجازت نہیں ہے۔ در حقیقت ، ختم کرنا بیکار ہے ، کیوں کہ وصول کنندہ A اب بھی براڈکاسٹ وصول کرتا ہے۔

     

    آئیے منظم نشریات پر ایک نظر ڈالیں ، کوڈ میں ترمیم کی ضرورت ہے۔

    پہلے براڈکاسٹ بھیجتے وقت:


    نیت نشریات = نیا نیت ("com.broadcast.set.broadcast")؛
    ارڈرآرڈبراسکاسٹ (براڈکاسٹ ، کال)
    پھر B وصول کنندہ میں نشریات کو ختم کرنے کے لئے کوئی طریقہ شامل کریں:
    abortBroadcast ()؛

    دوسرے کوڈ میں ترمیم کرنے کی ضرورت نہیں ہے ، آپریشن کا نتیجہ:

     

    صرف وصول کنندگان B ہوتا ہے ، وصول کنندگان A کو براڈکاسٹ موصول نہیں ہوتا ہے ، کیونکہ وصول کنندہ B میں براڈکاسٹ ختم ہوجاتا ہے ، اور بعد میں وصول کنندگان اسے قبول نہیں کرسکتے ہیں۔

    ذیل میں کوڈ میں ترمیم کریں:

    وصول کنندہ B:


    پیکیج com.broadcast.receiver؛

    درآمد android.content.BroadcastReceiver؛
    android.content.Context درآمد کریں؛
    android.content.Intant درآمد کریں۔
    درآمد android.os.Bundle؛
    درآمد android.util.Log؛

    / **
     * براڈکاسٹ وصول کنندہ بی
     *Author weijiang204321
     *
     */
    عوامی کلاس SortBroadcastReceiverB نے براڈکاسٹ رسیور میں توسیع کردی ہے {

    ٹویٹ ایمبیڈ کریں
    عوامی باطل آن وصول کریں (سیاق و سباق ، نیت کا ارادہ) {
    لوگگ۔ ("ڈیمو:" ، "براڈکاسٹ وصول کنندہ B")؛
    بنڈل بنڈل = نیا بنڈل ()؛
    bundle.putString ("Next_receiver"، "اگلا براڈکاسٹ ریسیور")؛
    setResultExtras (بنڈل)؛
    }
    کرنے کے لئے
    }
    بی کے براڈکاسٹ موصول ہونے کے بعد ، اس کی کچھ قدر محفوظ ہوتی ہے اور اگلے وصول کنندہ کے پاس ہوجاتی ہے۔


    وصول کنندہ A کا کوڈ:


    پیکیج com.broadcast.re प्राप्त

     

     

     

     

    تمام سوال کو فہرست

    عرفیت

    دوستوں کوارسال کریں

    سوالات

    ہمارے دیگر مصنوعات:

    پروفیشنل ایف ایم ریڈیو اسٹیشن کا سامان پیکیج

     



     

    ہوٹل آئی پی ٹی وی حل

     


      حیرت حاصل کرنے کیلئے ای میل درج کریں

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org -> افریقی
      sq.fmuser.org -> البانی
      ar.fmuser.org -> عربی
      hy.fmuser.org -> آرمینیائی۔
      az.fmuser.org -> آذربائیجان
      eu.fmuser.org -> باسکٹ
      be.fmuser.org -> بیلاروس
      bg.fmuser.org -> بلغاریائی
      ca.fmuser.org -> کاتالان
      zh-CN.fmuser.org -> چینی (آسان)
      zh-TW.fmuser.org -> چینی (روایتی)
      hr.fmuser.org -> کروشین
      cs.fmuser.org -> چیک
      da.fmuser.org -> ڈینش
      nl.fmuser.org -> ڈچ
      et.fmuser.org -> اسٹونین
      tl.fmuser.org -> فلپائنی
      fi.fmuser.org -> فینیش
      fr.fmuser.org -> فرانسیسی
      gl.fmuser.org -> گالیشین
      ka.fmuser.org -> جارجیائی
      de.fmuser.org -> جرمن
      el.fmuser.org -> یونانی
      ht.fmuser.org -> ہیتی کریول
      iw.fmuser.org -> عبرانی
      hi.fmuser.org -> ہندی
      hu.fmuser.org -> ہنگری
      is.fmuser.org -> آئس لینڈی
      id.fmuser.org -> انڈونیشی
      ga.fmuser.org -> آئرش
      it.fmuser.org -> اطالوی
      ja.fmuser.org -> جاپانی
      ko.fmuser.org -> کورین
      lv.fmuser.org -> لیٹوین
      lt.fmuser.org -> لتھوانیائی
      mk.fmuser.org -> مقدونیائی
      ms.fmuser.org -> مالائی
      mt.fmuser.org -> مالٹیائی
      no.fmuser.org -> ناروے
      fa.fmuser.org -> فارسی
      pl.fmuser.org -> پولش
      pt.fmuser.org -> پرتگالی
      ro.fmuser.org -> رومانیہ
      ru.fmuser.org -> روسی
      sr.fmuser.org -> سربیا
      sk.fmuser.org -> سلوواک
      sl.fmuser.org -> سلووینیائی۔
      es.fmuser.org -> ہسپانوی
      sw.fmuser.org -> سواحلی
      sv.fmuser.org -> سویڈش
      th.fmuser.org -> تھائی
      tr.fmuser.org -> ترکی
      uk.fmuser.org -> یوکرائنی
      ur.fmuser.org -> اردو
      vi.fmuser.org -> ویتنامی
      cy.fmuser.org -> ویلش
      yi.fmuser.org -> یدش

       
  •  

    FMUSER وائرلیس ترسیل ویڈیو اور آڈیو زیادہ آسان!

  • رابطہ کریں

    ایڈریس:
    نمبر 305 کمرہ ہوئلن بلڈنگ نمبر 273 ہوانپو روڈ گوانگ چین 510620

    ای میل:
    [ای میل محفوظ]

    ٹیلیفون / واٹس ایپس:
    + 8618078869184

  • اقسام

  • نیوز لیٹر

    پہلا یا پورا نام

    ای میل

  • تعمیل پے پال کے حل  مغربی اتحادچین کے بینک
    ای میل:[ای میل محفوظ]   واٹس ایپ: +8618078869184 اسکائپ: اسکائ198710021 میرے ساتھ چیٹ کریں
    کاپی رائٹ 2006-2020 کی طرف سے طاقت www.fmuser.org

    ہم سے رابطہ کریں