আপনাকে কোনও স্থির ইনপুট না দিয়ে কোনও স্ট্রিং ইনপুট করার অনুমতি দেওয়ার জন্য এই পদ্ধতিটি একটি পদ্ধতি ব্যবহার করে। এটি কোডের কয়েকটি লাইন সংরক্ষণ করে যদি বারবার ব্যবহার করা হয় তবে পদ্ধতিটি কল করতে আপনার কেবল তিনটি লাইন প্রয়োজন।
public Intent getWebIntent(String url) {
//Make sure it is a valid URL before parsing the URL.
if(!url.contains("http://") && !url.contains("https://")){
//If it isn't, just add the HTTP protocol at the start of the URL.
url = "http://" + url;
}
//create the intent
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)/*And parse the valid URL. It doesn't need to be changed at this point, it we don't create an instance for it*/);
if (intent.resolveActivity(getPackageManager()) != null) {
//Make sure there is an app to handle this intent
return intent;
}
//If there is no app, return null.
return null;
}
এই পদ্ধতিটি ব্যবহার করা সর্বজনীনভাবে ব্যবহারযোগ্য। এটি কোনও নির্দিষ্ট ক্রিয়াকলাপে রাখার দরকার নেই, আপনি এটি যেমন ব্যবহার করতে পারেন:
Intent i = getWebIntent("google.com");
if(i != null)
startActivity();
বা যদি আপনি এটি কোনও ক্রিয়াকলাপের বাইরে শুরু করতে চান তবে আপনি কেবল কার্যকলাপের উদাহরণে স্টার্টএটিভিটি কল করেন:
Intent i = getWebIntent("google.com");
if(i != null)
activityInstance.startActivity(i);
এই উভয় কোড ব্লকে যেমন দেখা যায় সেখানে নাল চেক রয়েছে। উদ্দেশ্যটি হ্যান্ডেল করার জন্য কোনও অ্যাপ্লিকেশন না থাকলে এটি নালায় ফিরে আসে।
এই পদ্ধতিটি যদি কোনও প্রোটোকল সংজ্ঞায়িত না করা হয় তবে এইচটিটিপিকে ডিফল্ট করা হবে, কারণ এমন কোনও ওয়েবসাইট রয়েছে যাদের একটি এসএসএল শংসাপত্র নেই (এইচটিটিপিএস সংযোগের জন্য আপনার কী প্রয়োজন) এবং আপনি যদি এইচটিটিপিএস ব্যবহার করার চেষ্টা করেন তবে সেগুলি কাজ বন্ধ করে দেবে এবং এটি সেখানে নেই । যে কোনও ওয়েবসাইট এখনও এইচটিটিপিএসে চাপ দিতে পারে, সুতরাং সেই দিকগুলি আপনাকে যেভাবেই এইচটিটিপিএসে অবতরণ করে
যেহেতু এই পদ্ধতিটি পৃষ্ঠাটি প্রদর্শনের জন্য বাইরের সংস্থানগুলি ব্যবহার করে, আপনার আন্তঃনীতি অনুমতি ঘোষণার দরকার নেই। ওয়েবপৃষ্ঠাটি প্রদর্শন করে এমন অ্যাপ্লিকেশনটিকে এটি করতে হবে