কেন এত অ্যাপ্লিকেশনগুলির ফোনের অবস্থা এবং পরিচয় পড়ার অনুমতি প্রয়োজন?


88

কেন এত অ্যাপ্লিকেশনগুলির ফোনের স্থিতি এবং পরিচয় পড়ার অনুমতি প্রয়োজন ?. বিশেষ করে:

Phone calls
   read phone state and identity

উদাহরণস্বরূপ কুইকপিডিয়া একটি উইকিপিডিয়া পোর্টাল, তবে ফোনে অ্যাক্সেস চায়। এর ব্যাখ্যা কী?

এখানে চিত্র বর্ণনা লিখুন


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

1
@ t0mm13b আমি মনে করি না প্রযুক্তিবিদ এবং গোপনীয়তা সম্পর্কিত (স্ব অন্তর্ভুক্ত) এর বাইরে হ্রাস করা অনুমতিগুলির জন্য অনেক চাহিদা রয়েছে। সুতরাং অ্যাপ্লিকেশন নির্মাতারা যদি পুরো অনুমতিগুলির সম্পূর্ণ স্যুট প্রয়োজনের জন্য এটি নিয়ম করে থাকেন তবে গ্রাহকরা যে কোনও অ্যাপ্লিকেশনের জন্য প্রচুর অনুমতি ঠিকঠাক বলে ধরে নেবেন। সরকার তাদের ন্যূনতম অনুমতি ব্যবহারের জন্য চাপ দিচ্ছে না, এবং এখনও পর্যন্ত বাজার তাদের চাপ দিচ্ছে না। অর্থাত অ্যাপ্লিকেশনগুলির জন্য প্রচুর অনুমতি প্রয়োজন হয় না little
user29020

উত্তর:


59

এটি অ্যাপ্লিকেশনটিকে আপনার ফোনের সাথে সম্পর্কিত একটি অনন্য আইডি ( আইএমইআইআই নামের একটি ফোন সনাক্তকারী) পড়তে অনুমতি দেয় ।

এটি অনুলিপি-সুরক্ষা বা ব্যবহারকারীর সংখ্যা ট্র্যাক করার প্রয়াসে সহায়তা করতে পারে।


3
এই তাই একটি ফোন একটি অনন্য আইডি পাওয়ার বিষয়ে প্রশ্ন দেখ, (বর্তমানে) একজন বিকাশকারী একটি ফোন থেকে একটি অনন্য আইডি পেতে জন্য সবচেয়ে নির্ভরযোগ্য উপায় মত দেখায় পড়ুন ফোনের অবস্থা অনুমতির প্রয়োজন stackoverflow.com/questions/2785485/...
GAThrawn

40

অনন্য আইডি ছাড়াও এর আর একটি কারণ রয়েছে। আমি অনুমান করব যে অর্ধেক অ্যাপ্লিকেশনগুলি সেই মানগুলিতে মোটেই অ্যাক্সেস করে না। সমস্যাটি হ'ল অ্যান্ড্রয়েড 1.5 পর্যন্ত নিম্ন সংস্করণের জন্য এই অনুমতিটি বিদ্যমান নেই। প্রত্যেকেই কিছু অনুরোধ না করে এই মানগুলি অ্যাক্সেস করতে পারে।

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


2
এসডি কার্ড অ্যাক্সেসের ক্ষেত্রেও একই ঘটনা ঘটে।
ডেনিস নিকোলেনকো

1
এটি সত্য - তবে 2.x এবং এর জন্য অ্যাপ্লিকেশনগুলি কেন এত ঘন ঘন এটি চায় তা ব্যাখ্যা করে না।
ইজি

19

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

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


এটি দেখানো কোনও ডকুমেন্টেশনের লিঙ্ক পেয়েছেন?
গাথ্রন


বিকাশকারী.অ্যান্ড্রয়েড. com/references/android/os/… লক্ষ্য সংস্করণ শনাক্তকারীদের এবং অনুমতিগুলির মধ্যে পরিবর্তন (অন্যান্য পার্থক্যগুলির মধ্যে) এর মধ্যে একটি সম্পূর্ণ তালিকা দেয়।
স্টুয়ার্ট

ঠিক। তবে সম্ভবত "আকর্ষণীয়" হতে পারে না, কারণ 1.5 এবং নিম্নের অ্যাপ্লিকেশনগুলি বেশ বিরল হয়ে গেছে :)
ইজি

18

এই প্রশ্নটি বেশ কিছুদিন আমাকে বিরক্ত করছে। সুতরাং এখন, অবশেষে, আমি ইস্যুটির নীচে পৌঁছানোর সিদ্ধান্ত নিয়েছি।

প্লেস্টোরটিতে অনুমতি নামে একটি অ্যাপ রয়েছে RE READ_PHONE_STATE , যা READ_PHONE_STATEএকমাত্র অনুমতি হিসাবে অনুরোধ করে এবং এটি ব্যবহার করে বা ব্যবহার না করে যে সমস্ত ডেটা অ্যাক্সেস করতে পারে তা মুদ্রণ করা ছাড়া আর কিছুই করে না। আমি এটি আমার LG Optimus 4X এ ইনস্টল করেছি , অ্যান্ড্রয়েড 4.0.০.৩ এ মূলযুক্ত এবং এলবিই ব্যবহার করে অনুমতি বাতিল করেছি। ফলাফলগুলি যেখানে বেশ আকর্ষণীয়, নিম্নলিখিত স্ক্রিনশটগুলি দেখায়:

স্ক্রিনশট ঘ স্ক্রিনশট 2 স্ক্রিনশট 3
অ্যাপ্লিকেশন অনুমতি দ্বারা তথ্য সংগ্রহ করা হয়েছে। READ_PHONE_STATE (বৃহত্তর রূপগুলির জন্য চিত্রগুলি ক্লিক করুন)

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

  • CALL_STATE_IDLEসুতরাং কোনও ফোন কল আগমনকারী, বহির্মুখী বা প্রগতিতে নেই। ইনকামিং কলগুলিতে নিজেই "ব্যাকগ্রাউন্ড" করতে কোনও অ্যাপ্লিকেশনকে এই অনুমতি প্রয়োজন হয় না।

এমনকি মোবাইল ডেটা সক্রিয় রয়েছে কিনা তাও দেখতে পাওয়া যায় ( DATA_DISCONNECTED; আপনি নোটিফিকেশন বারে স্ক্রিনশটগুলি নেওয়ার সময় আমি ওয়াইফাইতে ছিলাম), আপনি কোন দেশে রয়েছেন, আপনার সরবরাহকারী (তাঁর সম্পর্কে কিছু প্রযুক্তিগত ডেটা সহ), কিনা আপনার সিম কার্ড রয়েছে, অথবা আপনি যদি রোমিং করছেন।

কেবল অ্যাক্সেসযোগ্য নয় এমন জিনিস হ'ল ডেটা সনাক্ত করে: আইএমইআই, সিমিড, আইএমএসআই এবং আপনার নিজের ফোন নম্বর।

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

এত অ্যাপ্লিকেশানের কেন এটি দরকার?

  • বিজ্ঞাপন মডিউলগুলির জন্য, সম্ভবত 1
  • কারণ দেব ভেবেছিলেন যে তার এটির প্রয়োজন ( 2 এখানে কিছু উত্তরের মাধ্যমে উল্লেখ করা হয়েছে) 2
  • কারণ প্রশ্নে থাকা অ্যাপটি অ্যান্ড্রয়েড 1.5 এবং এর নিচে চালিত (এছাড়াও) এর জন্য ডিজাইন করা হয়েছে (এটি গুগল প্লেতে তালিকাভুক্ত হিসাবে সহজেই খুঁজে পাওয়া যায় )।

ঠিক এই ক্রমে সম্ভাবনা, আইএমএইচও।


চ্যানেলে ড্যানের পোস্টের 1 নোট :

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

অ্যাপটি আইএমইআই কী ব্যবহার করছে তা ব্যবহারকারীর পক্ষে বলা শক্ত, তাই আপনার বিকাশকারীকে প্রথমে ব্যাখ্যা করতে বলা উচিত।


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


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


আপডেট

  1. আকর্ষণীয় যে, ক)READ_PHONE_STATE কী প্রয়োজন তার মধ্যে বিভক্ত করার জন্য একটি ওপেন ইস্যু (21504) রয়েছে এবং আগত কলগুলি এবং সম্পর্কিত (টেলিফোনি) সনাক্তকরণ এবং সনাক্তকরণের বিশদটির জন্য দ্বিতীয় অনুমতি (আইএমইআই, আইএমএসআই, ইত্যাদি)। 11/2011 খোলা হয়েছে, এখনও কাজ হয়নি। আগ্রহী হলে এটি শুরু করুন :)
  2. এবং হ্যাঁ, একটি উপায় আছে একই (সনাক্ত ইনকামিং কল) অর্জন করা সম্ভব ছাড়াREAD_PHONE_STATE অনুমতি, যেমন যেমন আরনো Welzel দ্বারা নির্দিষ্ট । যেহেতু আগত ফোন কলটি রিঞ্জারটিকে ট্রিগার করবে, সেই ইভেন্টটি ব্যবহার করা যেতে পারে onAudioFocusChange(), যার জন্য কোনও বিশেষ অনুমতিের প্রয়োজন নেই: যদি এটির দ্বারা ট্রিগার করা হয়, অ্যাপটি কলস্টেটটি পরীক্ষা করতে পারে (আবার কোনও বিশেষ অনুমতি ছাড়া প্রয়োজন নেই) তা দেখার জন্য ইনকামিং কল.

আমি মনে করি যে অংশটি আপনি আগমন করছেন সেগুলিতে ব্যাকগ্রাউন্ডে এই অনুমতিটির প্রয়োজন নেই এমন অংশটি সরিয়ে ফেলতে হবে। আপনি ইতিমধ্যে পাদটীকা 2 এ এই পয়েন্টটি তৈরি করেছেন তবে এটি বিপরীত। বিকাশকারীও
মাইকেল

@ মাইকেল আপনি আংশিকভাবে ঠিক আছেন এই অনুমতিটি ব্যবহারটি কার্য সম্পাদন করার "সহজতম" উপায়, তবে এটি একমাত্র নয়। এটি ছাড়াই করা যেতে পারে, যেমন কিছু বিকাশকারী নির্দেশ করেছেন (এটি কি আড্ডায় ছিল? দুর্ভাগ্যক্রমে, আমি লিঙ্কটি হারিয়েছি)। অনেক কিছুর মতোই, গুগলের এপিআইগুলি ব্যবহার করা কিছু জিনিস সম্পাদন করা আরও সহজ করে তোলে (যখন এটি আপনার অ্যাপ্লিকেশনটিকে গুগল ইকো সিস্টেমে আবদ্ধ করে)। আমি কোনও বিকাশকারী নই, সুতরাং অন্যভাবে আরও কাজ করার অর্থ কী তা আমি বলতে পারি না।
ইজি

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

@ মাইকেল আমার আপডেট দেখুন। এবং হ্যাঁ, "কিছুতেই দরকার নেই" কিছুটা বাড়িয়ে বলা যেতে পারে। সম্ভবত সমস্ত বর্তমান অনুরোধের 0.5% এ, এটি সম্ভবত প্রয়োজন হতে পারে, কোনও বিকল্প # ডি নেই এবং হ্যাঁ আবারও: এর onPause()জন্য আমরা আড্ডায় কী আলোচনা করেছি! তবে ব্যবহার onAudioFocusChange()এমনকি কম ওভারহেড হতে পারে (ছোট পোলিং তখন অজ্ঞাতসারে হতে পারে)।
ইজি

10

অনেক বিজ্ঞাপন প্রকাশক সকল প্রকারের ট্র্যাকিংয়ের জন্য ফোন আইডি পেতে এই অনুমতিটি ব্যবহার করে। সেখানে অন্য কোন উপায়ে একটি অনন্য আইডি পেতে আছে, কিন্তু দুর্ভাগ্যবশত তারা পুরোনো Android সংস্করণে বগী হয় (গল্প জটিল, যেমন দেখতে https://stackoverflow.com/questions/2785485/is-there-a-unique-android- আরও সম্পূর্ণ গল্পের জন্য ডিভাইস-আইডি বা http://android-developers.blogspot.com/2011/03/phanfying-app-installation.html )।

সুতরাং যদি অ্যাপটি বিজ্ঞাপন ব্যবহার করে তবে একটি যথাযথ সম্ভাবনা রয়েছে যে অ্যাপটি নিজেই আসলে READ_PHONE_STATE অনুমতি প্রয়োজন হয় না, কেবল বিজ্ঞাপন সরবরাহকারীই করেন।


1
এটাই সব কিছুর পেছনের মূল বিষয় আইএমএইচও! ভাল অঙ্কিত।
ইজি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.