বাংলায় অ্যান্ড্রয়েড সহায়িকা - Bangla Android Guide

নেটওয়ার্ক ব্যবহার ব্যবস্থাপনা

আপনি একটি প্রিফারেন্স একটিভিটি বাস্তবায়ন করতে পারেন যা আপনার অ্যাপের নেটওয়ার্ক রিসোর্সের উপরে ইউজারকে পরিষ্কার নিয়ন্ত্রণ দিয়ে থাকে। উদাহরণস্বরূপ:

  • আপনি ইউজারকে তখনই একটি ভিডিও আপলোড করতে দিবেন যখন ডিভাইস একটি ওয়াই-ফাইয়ের সাথে যুক্ত থাকে।

  • কিছু নির্দিষ্ট বৈশিষ্ট যেমন নেটওয়ার্কেও উপস্থিতি/বিদ্যমানতা, সময়ের বিরতী (ইন্টারভাল) এবং অন্য সব আপনি সিঙ্ক করতে পারেন।

একটি অ্যাপ লিখতে যা নেটওয়ার্ক প্রবেশগম্যতা এবং নেটওয়ার্ক ব্যবহার ব্যবস্থাপনা সাপোর্ট করতে আপনার মেনিফেস্টে অবশ্যই সঠিক পারমিশন এবং ইনটেন্ট ফিল্টার থাকতে হবে।

  • মেনিফেস্ট নিম্নোক্ত পারমিশনগুলোর আকাঙ্খা করে:

    • android.permission.INTERNET—অ্যাপলিকেশনকে নেটওয়ার্ক সকেট ওপেন করতে দেয়
    • android.permission.ACCESS_NETWORK_STATE— — অ্যাপলিকেশনকে নেটওয়ার্ক সম্পর্কে তথ্যের মধ্যে প্রবেশ করতে দেয়।
  • ACTION_MANAGE_NETWORK_USAGE একশনের জন্য আপনি ইনটেন্ট ফিল্টার ডিক্লেয়ার করতে পারেন নির্দেশ করতে যে আপনার অ্যাপলিকেশন একটি একটিভিটি নির্ধারণ করেছে যা ডাটা ব্যবহার নিয়ন্ত্রণ করার প্রস্তাব দেয়। ACTION_MANAGE_NETWORK_USAGE একটি নির্দিষ্ট অ্যাপলিকেশনের নেটওয়ার্ক ডাটা ব্যবস্থাপনা করার জন্য সেটিং দেখায়। যখন আপনার অ্যাপের একটি সেটিং একটিভিটি থাকে যা ইউজারকে নেটওয়ার্ক ব্যবহার নিয়ন্ত্রণ করতে দেয়, আপনার উচিত ঐ একটিভিটির জন্য এই ইনটেন্ট ফিল্টার ডিক্লেয়ার করা। নমুনা অ্যাপলিকেশনের মধ্যে এই একশন ক্লাস SettingsActivity কর্তৃক চালিত হয়ে থাকে, যা কখন একটি ফিড ডাউনলোড করতে হবে তা ইউজারকে দিয়ে ঠিক করাতে একটি প্রিফারেন্স ইউজার ইন্টারফেস প্রদর্শন করে।

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.networkusage"
    ...>

    <uses-sdk android:minSdkVersion="4"
           android:targetSdkVersion="14" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        ...>
        ...
        <activity android:label="SettingsActivity" android:name=".SettingsActivity">
             <intent-filter>
                <action android:name="android.intent.action.MANAGE_NETWORK_USAGE" />
                <category android:name="android.intent.category.DEFAULT" />
          </intent-filter>
        </activity>
    </application>
</manifest>