এটি স্টার্টমনিটরিংসিগনিফ্যান্টলোকেশনচেনজগুলি সহ অ্যাপ্লিকেশন আচরণের বর্ণনা দেয় CLLocationManager ডকুমেন্টেশন থেকে বিভাগটি :
আপনি যদি এই পরিষেবাটি শুরু করেন এবং পরে আপনার অ্যাপ্লিকেশনটি সমাপ্ত হয়, কোনও নতুন ইভেন্ট উপস্থিত হলে সিস্টেম স্বয়ংক্রিয়ভাবে অ্যাপ্লিকেশনটিকে পটভূমিতে পুনরায় চালু করে। এই জাতীয় ক্ষেত্রে অ্যাপ্লিকেশনগুলিতে অপশন অভিধানটি পাস হয়েছে: didFinishLaunchingWithOptions: আপনার অ্যাপ্লিকেশন প্রতিনিধি পদ্ধতিতে আপনার অ্যাপ্লিকেশনটি কোনও ইভেন্ট ইভেন্টের কারণে চালু হয়েছিল তা বোঝাতে কী UiapplicationLaunchOptionsLocationKey রয়েছে। পুনরায় লঞ্চের পরে, আপনাকে অবশ্যই অবস্থানের পরিচালকটি অবজেক্টটি কনফিগার করতে হবে এবং অবস্থানের ইভেন্টগুলি গ্রহণ চালিয়ে যেতে এই পদ্ধতিতে কল করতে হবে। আপনি যখন অবস্থান পরিষেবাগুলি পুনরায় চালু করবেন, বর্তমান ইভেন্টটি আপনার প্রতিনিধিদের সাথে সাথেই সরবরাহ করা হবে delivered এছাড়াও, আপনি অবস্থান পরিষেবাগুলি শুরু করার আগেই আপনার অবস্থান ব্যবস্থাপক অবজেক্টের অবস্থানের সর্বাধিক সাম্প্রতিক অবস্থান অবজেক্টের সাথে পপুলেশন।
সুতরাং আমার বোধগম্যতা হল যদি আপনার অ্যাপ্লিকেশনটি বন্ধ হয়ে যায় (এবং আমি ধরে নিই যে আপনি যদি অ্যাপ্লিকেশন উইলটার্মিনেট থেকে স্টপমনিটরিংসিগনিফ্যান্টলোকেশন পরিবর্তনগুলি না কল করেন ) আপনি একটি ইউআইএপ্লিকেশনল্যাঞ্চঅপশনসলোকেশনকি প্যারামিটার দিয়ে অ্যাপ্লিকেশনটিতে জেগে উঠবেন : didFinishLaunchingWithOptions । এই মুহুর্তে আপনি আপনার CLLocationManager তৈরি করেন , startMon भयोSignificantLocationChanges কল করুন এবং সীমিত সময়ের জন্য আপনার পটভূমি অবস্থান প্রক্রিয়াজাতকরণ করুন । সুতরাং আমি এই বিট সঙ্গে ভাল।
পূর্ববর্তী অনুচ্ছেদে কেবল অ্যাপটি বন্ধ হয়ে গেলে কী ঘটে তা নিয়ে আলোচনা করা হয়, অ্যাপ্লিকেশনটি সাসপেন্ড হয়ে গেলে আপনি কী করবেন তা প্রস্তাব দেয় না। ফিনিশ লঞ্চিং উইথঅ্যাপশনগুলির জন্য ডকুমেন্টেশনটি বলে:
অ্যাপ্লিকেশনটি পটভূমিতে অবস্থানের আপডেটগুলি ট্র্যাক করে, শুদ্ধ করে দেওয়া হয়েছিল এবং এখন তা আবার চালু করা হয়েছে। এই ক্ষেত্রে অভিধানে একটি কী রয়েছে যা ইঙ্গিত করে যে কোনও নতুন অবস্থানের ইভেন্টের কারণে অ্যাপ্লিকেশনটি আবার চালু হয়েছিল।
পরামর্শ দেওয়া হচ্ছে যে আপনি যখন আপনার অ্যাপ্লিকেশনটি চালু করা হবে (অবস্থান পরিবর্তনের কারণে) তখনই আপনি এই কলটি গ্রহণ করবেন ated
তবে উপর অনুচ্ছেদ উল্লেখযোগ্য পরিবর্তন পরিষেবা মধ্যে অবস্থান সচেতনতা প্রোগ্রামিং গাইড বলতে অনুসরণ করেনি:
যদি আপনি এই পরিষেবাটি চালু রেখে চলে যান এবং আপনার অ্যাপ্লিকেশন পরবর্তী সময়ে স্থগিত বা বন্ধ হয়ে যায়, নতুন অবস্থানের ডেটা উপস্থিত হলে পরিষেবাটি স্বয়ংক্রিয়ভাবে আপনার অ্যাপ্লিকেশনটি জাগ্রত করে। জাগ্রত সময়ে, আপনার অ্যাপ্লিকেশনটিকে পটভূমিতে রাখা হবে এবং অবস্থানের ডেটা প্রক্রিয়া করার জন্য অল্প পরিমাণ সময় দেওয়া হবে। আপনার অ্যাপ্লিকেশনটি ব্যাকগ্রাউন্ডে থাকার কারণে, এটি ন্যূনতম কাজ করা উচিত এবং কোনও কাজ এড়ানো উচিত (যেমন নেটওয়ার্কটি জিজ্ঞাসা করা) যা বরাদ্দ সময় শেষ হওয়ার আগে এটি ফিরে আসতে বাধা দিতে পারে। যদি তা না হয় তবে আপনার অ্যাপ্লিকেশনটি সমাপ্ত হতে পারে।
এটি আপনাকে অ্যাপ্লিকেশন স্থগিত করা থাকলে অবস্থানের ডেটা দিয়ে জাগ্রত হওয়ার পরামর্শ দেয় তবে আপনি কীভাবে জাগ্রত তা উল্লেখ করতে ব্যর্থ হন:
- ইউআইএ অ্যাপ্লিকেশনডেলিগেট কি আমাকে কলব্যাক দেয় যে আমি স্থগিত অবস্থা থেকে আবার একটি ব্যাকগ্রাউন্ড অবস্থায় ফিরে যাচ্ছি?
- লোকেশন ম্যানেজার কি (অ্যাপ্লিকেশনটি স্থগিত করা অবস্থায় হিমায়িত শুকিয়ে গিয়েছিল) লোকেশন ম্যানেজার: ডু ইউপডেটটলোকেশন: লোকেশন কলব্যাক থেকে শুরু করে?
- আমার কি আমার ডুডআপডেটলকেশন বার্তায় কোড প্রয়োগ করতে হবে যা অ্যাপ্লিকেশনের অবস্থাটি পরীক্ষা করে এবং ব্যাকগ্রাউন্ড মোডে ন্যূনতম প্রক্রিয়াকরণ করে?
এটি লেখার প্রক্রিয়ায়, আমি মনে করি আমি কেবল আমার নিজের প্রশ্নের উত্তর দিয়েছি, তবে আরও জ্ঞানী কেউ এটি দ্বারা নিশ্চিত হওয়া সম্পর্কে আমার বোঝা ভাল লাগবে।