অ্যান্ড্রয়েড পেন্ডিং ইন্টেন্ট কী?


536

আমি অ্যান্ড্রয়েডের নবাগত। আমি অ্যান্ড্রয়েড ডকুমেন্টেশন পড়েছি তবে এখনও আমার আরও কিছু ব্যাখ্যা দরকার। কেউ কি আমাকে বলতে পারবেন আসলে কি PendingIntent?

উত্তর:


891

PendingIntentহ'ল একটি টোকেন যা আপনি কোনও বিদেশী অ্যাপ্লিকেশনকে (যেমন NotificationManager, AlarmManagerহোম স্ক্রিন AppWidgetManagerবা অন্যান্য তৃতীয় পক্ষের অ্যাপ্লিকেশনগুলি) দেন, যা বিদেশী অ্যাপ্লিকেশনটিকে আপনার অ্যাপ্লিকেশনের অনুমতিগুলি কোনও পূর্বনির্ধারিত কোড প্রয়োগ করতে দেয়

আপনি যদি বৈদেশিক অ্যাপ্লিকেশনটিকে একটি উদ্বেগ দেন, এটি আপনার Intentনিজের অনুমতি দিয়ে কার্যকর করবে । তবে আপনি যদি বিদেশী অ্যাপ্লিকেশনটিকে একটি দেন তবে PendingIntentসেই অ্যাপ্লিকেশনটি Intentআপনার আবেদনের অনুমতি ব্যবহার করে কার্যকর করবে ।


3
বিজ্ঞপ্তিগুলি বাদে, আপনি কোথায় বাকি মুলতুবি ব্যবহারগুলি দেখেছেন? আমি মনে করি আমি কেবল বিজ্ঞপ্তিগুলি এটি ব্যবহার করতে দেখেছি ...
অ্যান্ড্রয়েড বিকাশকারী

4
@ জোহনি_ডি: এর অর্থ এটি যা বোঝায়, সাধারণভাবে, আপনি একটি স্পষ্ট ইন্টেন্ট তৈরি করতে চাইবেন যার উপাদান নাম একটি পরম নাম যা নিঃসন্দেহে আপনার নিজস্ব শ্রেণীর একটিকে বোঝায়। অন্যথায়, অভিপ্রায়টি অন্য কোনও অ্যাপ্লিকেশনে প্রেরণ হতে পারে, যা সমস্যার কারণ হতে পারে যেহেতু ইন্টেন্টটি আপনার আবেদনের অনুমতিতে চলবে।
মিথ্যা রায়ান

3
@ লাইরিয়ান, ম্যানিফেস্টে আমরা যে অনুমতিটি উল্লেখ করেছি তা এখানেই কি অ্যাপ্লিকেশন অনুমতি রয়েছে? যেমন। ইন্টারনেটের অনুমতি?
Diffy

2
এই "অনুমোদনের হস্তান্তর" আসলেই সুরক্ষা-ভিত্তিক নয়? আমার কাছে একটি অ্যাপ্লিকেশন এ রয়েছে যা আমি বেশ কয়েকটি অনুমতি দিয়েছি। তারপরে আমার কাছে বি অ্যাপ্লিকেশন রয়েছে যা অনেক কম অনুমতি ব্যবহার করে। অ্যাপ্লিকেশন এ যদি একটি বি 'পেন্ডিং ইন্টেন্ট' এর মাধ্যমে বি এর অ্যাপ্লিকেশনটিতে কিছু শুরু করতে পারে (এ থেকে সমস্ত অনুমতি সাময়িকভাবে বিতে দেওয়া হতে পারে), বি অনুমতি দিয়ে পর্দার পিছনে যা কিছু করতে পারে তা বি করতে পারে না? উদাহরণস্বরূপ, এ এর ​​ব্যবহারকারীর পরিচিতিগুলি পড়ার অনুমতি থাকতে পারে তবে বি তা দেয় না। যদি এ বি কে একটি পেন্ডিং ইন্টেন্ট পাঠায়, বি তারপরে পরিচিতিগুলি পড়তে এবং দূষিত কিছু করতে পারে (যেমন এটি কোনও সার্ভারে প্রেরণ করুন)।
টিয়াগো

6
@ টিয়াগো: আপনার ক্ষেত্রে, কোনও সুবিধাযুক্ত অ্যাপ্লিকেশন এ যদি অ্যাপ্লিকেশন বি কে একটি মুলতুবি অভিপ্রায় দেয় যাতে বি কোনও যোগাযোগের ডেটা পড়তে চাইলে এটি পাঠাতে পারে। ব্যবহারকারী কোন যোগাযোগের ডেটা ব্যবহারকারী বি কে দিতে চায় এবং কেবল বিটিকে সেই ডেটা দেয় তা জিজ্ঞাসা করা এ এর ​​দায়িত্ব is মুলতুবি করা উদ্দেশ্য হ'ল একটি বিশেষাধিকারের ক্রমবর্ধমান মেকানিজম এবং ঠিক তেমন কোনও ক্ষমতা ছাড়ার যেকোনও সুবিধাযুক্তকরণ ব্যবস্থার মতো দুর্দান্ত দায়িত্ব আসে। অ্যাপ্লিকেশন বি ব্যবহারকারীর দ্বারা নির্বাচিত যোগাযোগের ডেটার জন্য বিশ্বাসযোগ্য কিনা তা সিদ্ধান্ত নেওয়ার দায়িত্ব ব্যবহারকারী।
মিথ্যা রায়ান

49

মুলতুবি থাকা উদ্দেশ্যটি হ'ল একটি টোকেন যা আপনি কিছু অ্যাপ্লিকেশনকে আপনার অ্যাপ্লিকেশন প্রসেসটি বেঁচে আছেন বা না নির্বিশেষে আপনার অ্যাপ্লিকেশনগুলির পক্ষে কোনও ক্রিয়া সম্পাদন করতে দেন।

আমি মনে করি ডকুমেন্টেশন যথেষ্ট পরিমাণে বিশদযুক্ত: মুলতুবি ইনটেন্ট ডক্স

(ব্রডকাস্টিং ইনটেন্টস, শিডিউলিং অ্যালার্ম) যেমন মুলতুবি থাকা এজেন্টগুলির জন্য ব্যবহারের ক্ষেত্রে কেবল তা ভাবুন এবং ডকুমেন্টেশনটি আরও স্পষ্ট এবং অর্থবহ হয়ে উঠবে।


আমি মনে করি ইন্টেন্টটিও এক ধরণের টোকেন যা আমরা আমাদের অ্যাপের পক্ষ থেকে কোনও ক্রিয়া সম্পাদন করতে অন্য কোনও অ্যাপ্লিকেশনটিকে দিই। সুতরাং, একটি মুলতুবি অভিপ্রায় এবং ইন্টেন্টের মধ্যে একমাত্র পার্থক্য কি আমাদের অ্যাপ্লিকেশন প্রক্রিয়া জীবন?
কপসঅনরোড

40

আমার ক্ষেত্রে, উপরের উত্তরগুলি বা গুগলের অফিশিয়াল ডকুমেন্টেশনগুলির কোনওটিই আমাকে PendingIntentক্লাসের ধারণাটি ধরতে সহায়তা করেনি ।

এবং তারপরে আমি এই ভিডিওটি পেয়েছি, গুগল আই / ও 2013, ব্লু ডট সেশন ছাড়িয়ে । এই ভিডিওতে প্রাক্তন গুগলার জাইকুমার গণেশ কী PendingIntentতা ব্যাখ্যা করেছেন এবং সেই জিনিসটিই আমাকে এর বড় ছবি দিয়েছে।

নীচে কেবল উপরের ভিডিওটির প্রতিলিপি দেওয়া আছে ( 15:24 থেকে )।

সুতরাং একটি মুলতুবি উদ্দেশ্য কী?

এটি একটি টোকেন যা আপনার অ্যাপ্লিকেশন প্রক্রিয়াটি অবস্থান প্রক্রিয়াটি দেবে এবং আগ্রহের কোনও ঘটনা ঘটলে লোকেশন প্রক্রিয়াটি আপনার অ্যাপ্লিকেশনটি জাগাতে ব্যবহার করবে । সুতরাং এর মূলত অর্থ এই যে পটভূমিতে আপনার অ্যাপটি সর্বদা চলমান থাকে না। যখন আগ্রহের কিছু ঘটে তখন আমরা আপনাকে জাগিয়ে তুলব। এটি প্রচুর ব্যাটারি সাশ্রয় করে।

কোডটির এই স্নিপেট (যা সেশনের স্লাইডে অন্তর্ভুক্ত) এর সাথে এই ব্যাখ্যাটি আরও স্পষ্ট হয়ে ওঠে।

PendingIntent mIntent = PendingIntent.getService(...);

mLocationClient.requestLocationUpdates(locationRequest, mIntent);

public void onHandleIntent(Intent intent) {   
    String action = intent.getAction();   
    if (ACTION_LOCATION.equals(action)) {       
        Location location = intent.getParcelableExtra(...)   
    }
}

সম্মত হন, এটি বেশ সহজ এবং বোঝার জন্য পরিষ্কার। তবে এটি পেন্ডিং ইন্টেন্ট অন্য অ্যাপ্লিকেশনটিকে যে অনুমতি দেয় তা সম্পর্কে আমাদের কিছু জানায় না।
কক্সঅনরোড

35

কেন পেন্ডিং ইন্টেন্ট দরকার? আমি ভাবছিলাম

  1. কেন গ্রহণের অ্যাপ্লিকেশন নিজেই তৈরি করতে পারে না Intentবা
  2. আমরা কেন Intentএকই উদ্দেশ্যে একটি সাধারণ ব্যবহার করতে পারি না ।

যেমনIntent bluetoothIntent= new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);

যদি আমি bluetoothIntentঅন্য কোনও অ্যাপ্লিকেশনে প্রেরণ করি , যার অনুমতি নেই android.permission.BLUETOOTH_ADMIN, তবে সেই অ্যাপ্লিকেশনটি ব্লুটুথ সক্ষম করতে পারে না startActivity(bluetoothIntent)

সীমাবদ্ধতা ব্যবহার অতিক্রম করা হয় PendingIntent। সঙ্গে PendingIntentপ্রাপ্তির অ্যাপ্লিকেশন, প্রয়োজন নেই android.permission.BLUETOOTH_ADMINব্লুটুথ সক্রিয় জন্য। উত্স


3
আপনার ব্লুটুথ তথ্য উদাহরণ সত্যই মূল্যবান। ধন্যবাদ
নিকস

1
@ কিরান - যদি অ্যাপ্লিকেশনটি গ্রহণ করা ব্লুটুথ চালু করতে পারে (মুলতুবি ইন্টেন্ট ব্যবহার করে) তবে কেন সেই অ্যাপ্লিকেশনটি এই ম্যানিফেস্টে এই অনুমতিটি অন্তর্ভুক্ত করেনি? এটি এমন একটি অ্যাপ তৈরি করছি যা কল করতে পারে তবে আমি অনুমতি CALL_PHONE সহ অন্তর্ভুক্ত করছি না কারণ আমি চাইছি যে অন্য অ্যাপ্লিকেশন আমাকে এই কলটি করার জন্য একটি মুলতুবি ইন্টেন্ট প্রেরণ করবে। এই আপনি কি বলতে চান?
কক্সঅনরোড

1
@ কপসঅনরোড পেন্ডিং ইন্টেন্টের প্রাপ্তি অ্যাপ্লিকেশনটি একটি সাধারণ অ্যাপ্লিকেশন হতে পারে যা অনুরোধটি গ্রহণ করে এবং অনুরোধকারীর পক্ষে অনুরোধটি কার্যকর করে। এর ভূমিকাটি কেবল একজন মধ্যবিত্তের, অতএব সমস্ত অনুমতি নেই। মিডল-ম্যান অ্যাপসের এই ধরণের একটি উদাহরণ হ'ল নোটিফিকেশন ম্যানেজার, যা অনুমতি না নিয়েই কোনও বিজ্ঞপ্তি থেকে যেকোনো উদ্দেশ্যে অ্যাপ্লিকেশন চালু করতে পারে।
জিয়াও-ফেং লি

21

মুলতুবি থাকা উদ্দেশ্য একটি উদ্দেশ্য যা ভবিষ্যতে কোনও সময়ে শুরু হবে। সাধারন অভিপ্রায় অবিলম্বে যখন এটি পাস করা হয়েছে শুরু startActivity(Intent)বা StartService(Intent)


13

ভবিষ্যতের অভিপ্রায় যা অন্যান্য অ্যাপ্লিকেশন ব্যবহার করতে পারে।
এবং এখানে একটি তৈরির উদাহরণ রয়েছে:

Intent intent = new Intent(context, MainActivity.class);
PendingIntent pendIntent = PendingIntent.getActivity(context, 0, intent, 0);

8
ডাউনভোট কারণ আপনি "ভবিষ্যত" বা অন্য অ্যাপ্লিকেশনগুলির দ্বারা ব্যবহারযোগ্য এমন অভিপ্রায় সম্পর্কে বিশেষত কী তা ব্যাখ্যা করেন না
ভিক

@ হোয়াইটড্যাটএপ.কম এটি এন্টোইন ডি সেন্ট এক্সুপুরি বলেছেন এবং লুইস গ্যালান্টিয়ার অনুবাদ করেছেন;)
কোলেটস্কি

@ চোলিটস্কি ধন্যবাদ, অনুবাদ সম্পর্কে আমি জানতাম না O
ওদেড ব্রেনার 21:56

13

ট্যাক্সির বিশ্লেষণ

অভিপ্রায়

এজেন্টগুলি সাধারণত পরিষেবাগুলি শুরু করার জন্য ব্যবহৃত হয়। উদাহরণ স্বরূপ:

Intent intent = new Intent(CurrentClass.this, ServiceClass.class);
startService(intent);

আপনি ট্যাক্সি ডাকার সময় এমন হয়:

Myself = CurrentClass
Taxi Driver = ServiceClass

মুলতুবি থাকা

আপনার এই জাতীয় কিছু ব্যবহার করতে হবে:

Intent intent = new Intent(CurrentClass.this, ServiceClass.class);
PendingIntent pi = PendingIntent.getService(parameter, parameter, intent, parameter);
getDataFromThirdParty(parameter, parameter, pi, parameter);

এখন এই তৃতীয় পক্ষটি আপনার হয়ে পরিষেবাটি শুরু করবে। বাস্তব জীবনের উপমাটি হলেন উবার বা লিফ্ট যারা উভয়ই ট্যাক্সি সংস্থা।

আপনি উবার / লিফ্টে যাত্রার অনুরোধ পাঠান। তারপরে তারা এগিয়ে যাবে এবং আপনার পক্ষ থেকে তাদের একজন ড্রাইভারকে কল করবে।

অতএব:

Uber/Lyft ------ ThirdParty which receives PendingIntent
Myself --------- Class calling PendingIntent
Taxi Driver ---- ServiceClass

11

একটি পেন্ডিং ইন্টেন্ট হ'ল একটি টোকেন যা আপনি অন্য কোনও অ্যাপ্লিকেশনকে (যেমন নোটিফিকেশন ম্যানেজার, অ্যালার্ম ম্যানেজার বা তৃতীয় পক্ষের অ্যাপ্লিকেশন) দেবেন, যা এই অন্যান্য অ্যাপ্লিকেশনটিকে কোডের একটি পূর্বনির্ধারিত টুকরোগুলি কার্যকর করার জন্য আপনার অ্যাপ্লিকেশনের অনুমতিগুলি ব্যবহার করার অনুমতি দেয়। একটি মুলতুবি উদ্দেশ্য হিসাবে সম্প্রচার সঞ্চালনের জন্য তাই পেন্ডিং ইন্টেন্ট.জেটব্রোডকাস্ট () এর মাধ্যমে একটি পেন্ডিং ইন্টেন্ট পান। একটি মুলতুবি অভিপ্রায় মাধ্যমে কোনও ক্রিয়াকলাপ সম্পাদন করার জন্য আপনি কার্যকলাপটি পেন্ডিং ইন্টেন্ট.জেটঅ্যাক্টিভিটি () এর মাধ্যমে গ্রহণ করেন।


7

একটি উদ্দেশ্য কি?

অ্যানড্রয়েডের একটি উদ্দেশ্য হ'ল একটি নির্দিষ্ট কমান্ড যা আপনাকে অ্যান্ড্রয়েড ওএসে নির্দিষ্ট কিছু করার জন্য একটি আদেশ পাঠাতে দেয়। এটিকে কার্যকর করার মতো একটি ক্রিয়া হিসাবে ভাবুন। এমন অনেকগুলি ক্রিয়া রয়েছে যা ইমেল প্রেরণ, বা কোনও ইমেলটিতে কোনও ফটো সংযুক্তি এমনকি একটি অ্যাপ্লিকেশন প্রবর্তন করা যায়। একটি অভিপ্রায় তৈরির যৌক্তিক কর্মপ্রবাহ সাধারণত: উদ্দীপনা খ। উদ্দেশ্য বিকল্পগুলি যুক্ত করুন -> প্রাক্তন। আমরা কোন ধরণের অভিপ্রায় ওএসে প্রেরণ করছি বা সেই অভিপ্রায় সম্পর্কিত কোনও বৈশিষ্ট্য যেমন কোনও পাঠ্য স্ট্রিং বা উদ্দেশ্যটির সাথে পাশ করা কিছু। ইন্টেন্ট চালানো

বাস্তব জীবনের উদাহরণ: আসুন আমি সকালে উঠি এবং ওয়াশরুমে যাওয়ার জন্য "অন্তর্ভুক্ত" করি। আমাকে প্রথমে ওয়াশরুমে যাওয়ার বিষয়ে ভাবতে হবে, তবে সত্যই আমাকে ওয়াশরুমে নিয়ে যাওয়া উচিত নয়। এরপরে আমার মস্তিষ্ককে প্রথমে বিছানা থেকে উঠতে, তারপরে ওয়াশরুমে হাঁটতে হবে এবং তারপরে ছেড়ে দিতে হবে, তারপর গিয়ে আমার হাত ধুয়ে ফেলুন, তারপরে যান এবং আমার হাত মুছুন। একবার আমি জানতে পারছি আমি কোথায় যাচ্ছি আমি শুরু করার জন্য আদেশটি পাঠিয়ে দিই এবং আমার শরীরটি পদক্ষেপ নেয়।

মুলতুবি কী আছে?

বাস্তব জীবনের উদাহরণ অব্যাহত রেখে বলা যাক আমি গোসল করতে চাই তবে আমি দাঁত ব্রাশ করে প্রাতঃরাশ খাওয়ার পরে গোসল করতে চাই। সুতরাং আমি জানি আমি কমপক্ষে 30-40 মিনিট পর্যন্ত বৃষ্টি করব না। আমার মাথায় এখনও আছে যে আমার জামাকাপড় প্রস্তুত করা উচিত এবং তারপরে সিঁড়িটি ফিরে বাথরুমে চলে আসা, পরে জামা কাপড় পরে ঝরনা। তবে 30-40 মিনিট না পেরে এটি ঘটবে না not আমার এখন শাওয়ার করার জন্য একটি লন্ডন ইন্টেন্ট রয়েছে। এটি 30-40 মিনিটের জন্য পেন্ডিং।

এটি একটি পেন্ডিং ইন্টেন্ট এবং নিয়মিত ইন্টেন্টের মধ্যে পার্থক্য is কোনও মুলতুবি ইন্টেন্ট ছাড়া নিয়মিত ইন্টেন্টস তৈরি করা যায় তবে পেন্ডিং ইন্টেন্ট তৈরি করতে আপনার প্রথমে নিয়মিত ইনটেন্ট সেটআপ থাকা দরকার।


আমি সত্যিই সহজ এবং উদাহরণটি পছন্দ করেছি, আমি এটি শব্দগুলির সাথে এটি বেশ ভালভাবে বুঝতে পেরেছি।
জোসেমা

আমি আনন্দিত যে এই পোস্টটি আপনার পক্ষে জোসেমা
নরেন্দ্র মোতওয়ানি

এটি উপরের শাকিব আয়াজের ব্যাখ্যার মতোই। কার কাছ থেকে কপি? :)
Likejudo

5

PendingIntentমূলত এমন একটি বস্তু যা অন্য একটি বস্তুকে আবৃত করে Intent। তারপরে এটি কোনও বিদেশী অ্যাপ্লিকেশনটিতে পৌঁছে দেওয়া যেতে পারে যেখানে আপনি সেই অ্যাপ্লিকেশনটিকে অপারেশন করার অধিকার প্রদান করছেন, অর্থাত: এটি আপনার নিজের অ্যাপ্লিকেশন প্রক্রিয়া (একই অনুমতি এবং পরিচয়) থেকে কার্যকর করা হয়েছে এমন অভিপ্রায়টি কার্যকর করুন। সুরক্ষার কারণে আপনার সর্বদা জড়িত হওয়ার চেয়ে কোনও পেন্ডিং ইন্টেন্টে সুস্পষ্ট অভিপ্রায়গুলি পাস করা উচিত।

 PendingIntent aPendingIntent = PendingIntent.getService(Context, 0, aIntent,
                    PendingIntent.FLAG_CANCEL_CURRENT);

4

একটি সহজ ভাষায়,
1. সম্পাদন করার জন্য একটি উদ্দেশ্য এবং লক্ষ্য ক্রিয়াকলাপের বর্ণনা। প্রথমে আপনাকে একটি উদ্দেশ্য তৈরি করতে হবে এবং তারপরে আপনাকে একটি নির্দিষ্ট জাভা ক্লাসটি পাস করতে হবে যা আপনি চালাতে চান,
২. আপনি সেই জাভা শ্রেণিকে কল করতে পারেন যা আপনার ক্লাস অ্যাকশন ক্লাস যা পেন্ডিং ইন্টেন্ট.জেটঅ্যাক্টিভিটি, পেন্ডিং ইন্টেন্ট.জেট অ্যাক্টিভিটিস (কনটেক্সট, ইনটেন্ট, ইন্টেন্ট [], ইনট), পেন্ডিং ইন্টেন্ট.জেট ব্রডকাস্ট (কনটেক্সট, ইনটেন্ট, ইনট), এবং পেন্ডিং ইন্টেন্ট দ্বারা কল করতে পারেন। গেট সার্ভিস (প্রসঙ্গ, ইনটেন্ট, ইনট, ইনট); এখানে আপনি
লক্ষ্যটি দেখতে পেয়েছেন যা পদক্ষেপ 1 থেকে আসে 3.. আপনার মনে রাখা উচিত ... অন্য অ্যাপ্লিকেশনটির একটি পেন্ডিংইন্টেন্ট দেওয়ার মাধ্যমে আপনি এটি নির্দিষ্ট করে দিয়েছিলেন এমন ক্রিয়াকলাপ সম্পাদন করার অধিকার মঞ্জুর করছেন।

এটাই আমি দীর্ঘ পড়ার পরে শিখেছি।


3

একটি পেন্ডিং ইন্টেন্ট সাধারণ ইন্টেন্টকে এমন একটি টোকেন দিয়ে মুড়িয়ে দেয় যা আপনি আপনার অনুমতি নিয়ে কার্যকর করতে বিদেশী অ্যাপ্লিকেশনটিকে দেন। যেমন:

আপনার সঙ্গীত অ্যাপ্লিকেশনটির বিজ্ঞপ্তিটি PendingIntentব্রডকাস্ট প্রেরণ করতে না দিলে সঙ্গীত বাজতে / বিরতি দিতে পারে না কারণ আপনার সঙ্গীত অ্যাপ্লিকেশনটির READ_EXTERNAL_STORAGEঅনুমতি রয়েছে যা বিজ্ঞপ্তি অ্যাপ্লিকেশনটি দেয় না। বিজ্ঞপ্তি একটি সিস্টেম পরিষেবা (তাই এটি একটি বিদেশী অ্যাপ্লিকেশন)।


দুর্দান্ত উদাহরণ!
লাইজডো

2

এর নাম হিসাবে .. প্রস্তাবিত পেন্ডিং

আপনি এটি দুলতে পারেন (কিছু সময়ের পরে এটি করুন)। এটি অন্য অভিপ্রায় হিসাবে কাজ করে .. এটি আপনার পক্ষ থেকে সম্পাদন করার জন্য আপনার টাস্কটি অন্য কোনও অ্যাপকে দেওয়ার একটি উপায় giving


1
আপনি কি এর জন্য বাস্তব জীবনের উদাহরণ দিতে পারেন?
কপসঅনরোড

0

একটি মুলতুবি উদ্দেশ্য ভবিষ্যতে নেওয়া কোনও পদক্ষেপ নির্দিষ্ট করে। এটি আপনাকে ভবিষ্যতের উদ্দীপনাটি অন্য অ্যাপ্লিকেশনে প্রেরণ করতে দেয় এবং সেই অ্যাপ্লিকেশনটিকে সেই ইন্টেন্টটি কার্যকর করতে অনুমতি দেয় যেমন আপনার অ্যাপ্লিকেশনটির মতো একই অনুমতি রয়েছে, অবশেষে অভিপ্রায়টি চাওয়া হলে আপনার অ্যাপ্লিকেশনটি এখনও রয়েছে কিনা।

এটি এমন একটি টোকেন যা আপনি কোনও বিদেশী অ্যাপ্লিকেশনকে দেন যা বিদেশী অ্যাপ্লিকেশনটিকে কোডের একটি পূর্বনির্ধারিত টুকরোগুলি কার্যকর করার জন্য আপনার আবেদনের অনুমতিগুলি ব্যবহার করার অনুমতি দেয়।

আপনি যদি বিদেশী অ্যাপ্লিকেশনটিকে কোনও উদ্দীপনা দেন এবং সেই অ্যাপ্লিকেশনটি আপনার দেওয়া ইন্টেন্টটি প্রেরণ / সম্প্রচার করে, তারা নিজের অনুমতি নিয়ে ইন্টেন্টটি কার্যকর করবে। তবে আপনি যদি তার পরিবর্তে বিদেশী অ্যাপ্লিকেশনটিকে আপনার নিজের অনুমতি ব্যবহার করে তৈরি করা মুলতুবি ইন্টেন্ট দিয়ে থাকেন তবে সেই অ্যাপ্লিকেশনটি আপনার আবেদনের অনুমতি ব্যবহার করে অন্তর্ভুক্ত থাকা ইন্টেন্টটি কার্যকর করবে।

একটি মুলতুবি উদ্দেশ্য হিসাবে সম্প্রচার করতে তাই পেন্ডিং ইন্টেন্ট.জেটব্রোডকাস্ট () এর মাধ্যমে একটি পেন্ডিং ইন্টেন্ট পান। একটি মুলতুবি অভিপ্রায় মাধ্যমে কোনও ক্রিয়াকলাপ সম্পাদন করার জন্য আপনি কার্যকলাপটি পেন্ডিং ইন্টেন্ট.জেটঅ্যাক্টিভিটি () এর মাধ্যমে গ্রহণ করেন।

এটি একটি উদ্দেশ্যমূলক ক্রিয়া যা আপনি সম্পাদন করতে চান তবে পরবর্তী সময়ে। এটিকে বরফের উপর লক্ষ্য রাখুন। এটির প্রয়োজনীয়তার কারণটি হ'ল আপনার অ্যাপ্লিকেশনে একটি বৈধ প্রসঙ্গটি থেকে অবশ্যই একটি ইন্টেন্ট তৈরি করা এবং চালু করা উচিত তবে কিছু কিছু ক্ষেত্রে রয়েছে যখন আপনি ক্রিয়াকলাপটি চালাতে চান সেই সময়ে কোনওটি পাওয়া যায় না কারণ আপনি প্রযুক্তিগতভাবে অ্যাপ্লিকেশনের প্রসঙ্গে বাইরে আছেন ( দুটি সাধারণ উদাহরণ একটি বিজ্ঞপ্তি বা একটি ব্রডকাস্টার্সিভার থেকে ক্রিয়াকলাপ চালু করছে।

একটি পেন্ডিং ইন্টেন্ট তৈরি করে আপনি যে কার্যকলাপটি চালু করার জন্য ব্যবহার করতে চান তা বলুন, আপনি যে কাজটি করার প্রসঙ্গ রেখেছেন (অন্য ক্রিয়াকলাপ বা পরিষেবার অভ্যন্তরীণ থেকে) আপনি সেই অ্যাপ্লিকেশনটির কিছু অংশ প্রবর্তন করার জন্য সেই বিষয়টিকে বাহ্যিক কিছুতে পাস করতে পারেন can আপনার পক্ষ থেকে.

একটি পেন্ডিং ইন্টেন্ট অ্যাপ্লিকেশনগুলির প্রক্রিয়াটি শেষ হওয়ার পরেও কাজ করার জন্য একটি উপায় সরবরাহ করে। এটি লক্ষণীয় গুরুত্বপূর্ণ যে অ্যাপ্লিকেশনটি পেন্ডিং ইন্টেন্টকে হত্যা করার পরেও, সেই উদ্দেশ্যটি এখনও চালানো যেতে পারে। এটি সম্পাদন করার জন্য একটি উদ্দেশ্য এবং লক্ষ্য ক্রিয়াকলাপের বর্ণনা। এই শ্রেণীর উদাহরণগুলি getActivity (প্রসঙ্গে, প্রেরণ, ইন্টেন্ট, ইনট), গেটব্রোডকাস্ট (কনটেক্সট, ইন্টি, ইনট, ইনট), গেট সার্ভিস (কনটেক্সট, ইনট, ইনটেন্ট, ইনট) দিয়ে তৈরি করা হয়েছে; প্রত্যাবর্তিত বস্তুটি অন্যান্য অ্যাপ্লিকেশনগুলিতে হস্তান্তর করা যায় যাতে তারা পরে আপনার পক্ষ থেকে আপনার দ্বারা বর্ণিত ক্রিয়াটি সম্পাদন করতে পারে।

অন্য অ্যাপ্লিকেশনটির একটি পেন্ডিং ইন্টেন্ট দেওয়ার মাধ্যমে আপনি এটি নির্ধারণ করেছেন এমন অপারেশন সম্পাদনের অধিকার মঞ্জুর করছেন যেন অন্য অ্যাপ্লিকেশনটি নিজেই ছিলেন (একই অনুমতি এবং পরিচয় সহ)। যেমন, আপনি কীভাবে পেন্ডিং ইন্টেন্টটি তৈরি করেন সে সম্পর্কে আপনার যত্নবান হওয়া উচিত: প্রায়শই, উদাহরণস্বরূপ, আপনি যে বেস ইন্টেন্ট সরবরাহ করেন তা অবশেষে সেখানে প্রেরণ করা হয়েছে এবং অন্য কোথাও নয় তা নিশ্চিত করার জন্য উপাদানটির নামটি আপনার নিজের উপাদানগুলির একটিতে স্পষ্টভাবে সেট করা থাকবে।

একটি পেন্ডিং ইন্টেন্ট নিজেই কেবল এটি পুনরুদ্ধার করতে ব্যবহৃত মূল ডেটা বর্ণনা করে সিস্টেম দ্বারা রক্ষণ করা একটি টোকেনের রেফারেন্স। এর অর্থ হ'ল, এমনকি যদি তার নিজস্ব প্রয়োগের প্রক্রিয়াটি মারা যায় তবে পেন্ডিং ইন্টেন্ট নিজেই দেওয়া অন্যান্য প্রক্রিয়াগুলি থেকে ব্যবহারযোগ্য থাকবে। পরে যদি অ্যাপ্লিকেশন তৈরি করে একই ধরণের পেন্ডিং ইন্টেন্ট (একই ক্রিয়াকলাপ, একই উদ্দিষ্ট ক্রিয়া, ডেটা, বিভাগ এবং উপাদানগুলি এবং একই পতাকাগুলি) পুনরুদ্ধার করা হয়, তবে এটি এখনও বৈধ যদি একই টোকেনকে উপস্থাপন করে একটি পেন্ডিংইন্টেন্ট পাবেন এবং তা করতে পারে এটি মুছে ফেলার জন্য এইভাবে কল করুন ()


0

পেন্ডিং ইন্টেন্ট এমন একটি অভিপ্রায় যা নির্দিষ্ট অ্যাপ্লিকেশনকে কোনও নির্দিষ্ট কাজ করার জন্য সমস্ত অনুমতি দেয়। মূল ক্রিয়াকলাপটি ধ্বংস হয়ে গেলে, অ্যান্ড্রয়েড ওএস এর থেকে অনুমতিটি নিয়ে নেয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.