android - you - রপ্তানি সেবা অনুমতি প্রয়োজন হয় না: এর মানে কি?




বাংলা শব্দের অর্থ কি (2)

আপনি যদি নিজের অ্যাপ্লিকেশনটিতে কার্যকলাপের ব্যবহার সীমাবদ্ধ করতে চান তবে আপনার exported=false আপনার ক্রিয়াকলাপের ম্যানিফেস্ট বিবৃতিতে যোগ exported=false উচিত।

আপনি যদি অন্য অ্যাপ্লিকেশনগুলিকে এটি ব্যবহার করতে চান (স্পষ্টভাবে তার শ্রেণির নাম দিয়ে বা ডেটা টাইপ বা অ্যাকশন সহ কোনও অভিপ্রায় ব্যবহার করে) তবে আপনার দুটি পছন্দ রয়েছে:

  • অনুমতি ব্যবহার করে যারা অ্যাপ্লিকেশন সীমাবদ্ধ
  • সমস্ত অ্যাপ্লিকেশনকে এটি ব্যবহার করার অনুমতি দিন, তারপরে আপনি tools:ignore="ExportedActivity" যোগ করতে পারেন tools:ignore="ExportedActivity" আপনার কার্যকলাপের ম্যানিফেস্ট বিবৃতিতে tools:ignore="ExportedActivity" করুন।

-

tools:ignore="ExportedService" সাথে একই যুক্তি প্রয়োগ করা হয় tools:ignore="ExportedService" এবং সামগ্রী সরবরাহকারীরা tools:ignore="ExportedContentProvider"

আমি এমন একটি পরিষেবা তৈরি করেছি যা এডেলের মাধ্যমে অন্যান্য অ্যাপ্লিকেশনগুলির দ্বারা আবদ্ধ, এবং আমি এটি নিম্নরূপ ম্যানিফেস্টে যোগ করি:

<service android:name=".MyService">
    <intent-filter>
        <action android:name="org.example.android.myservicedemo.IService" />
    </intent-filter>
</service>

যেখানে আইএসআইএস অ্যাডল ইন্টারফেস।

এই ভাবে, Eclipse আমাকে সতর্কতা দেখায় এক্সপোর্ট করা পরিষেবাটির অনুমতির প্রয়োজন নেই । যদি আমি intent-filter সরান, সতর্কতা অদৃশ্য হয়ে যায় তবে সম্ভবত অ্যাপ্লিকেশনগুলি পরিষেবার সাথে সংযুক্ত করতে অক্ষম।

এই সতর্কতা মানে কি?


আমি সংস্করণ 20 এ SDK আপডেট যখন একই সমস্যা ছিল। আমি অ্যান্ড্রয়েড যুক্ত করে ফেলেছি : এক্সপোর্ট হওয়া সম্পত্তি android:exported="false" তাই ভালো:

<service android:name=".MyService"
    android:exported="false">
    <intent-filter>
        <action android:name="org.example.android.myservicedemo.IService" />
    </intent-filter>
</service>

এই doc দেখুন





android-service