Implicit Intent ব্যবহার করে URL খোলা
এই উদাহরণে একটি বাটন ক্লিক করলে ডিফল্ট ব্রাউজারে (বা ইউজারের পছন্দ অনুযায়ী অন্য ব্রাউজারে) নির্দিষ্ট URL খোলার পদ্ধতি দেখানো হয়েছে।
ধাপ ১: প্রজেক্ট তৈরি
Android Studio-তে নতুন প্রজেক্ট তৈরি করুন।
ধাপ ২: লেআউট (activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="8dp"
tools:context=".MainActivity">
<Button
android:id="@+id/btnOpenUrl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:onClick="GetUrlFromIntent"
android:text="Open URL in Browser" />
</RelativeLayout>
ধাপ ৩: MainActivity.java
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void GetUrlFromIntent(View view) {
String url = "https://www.google.com";
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
// ভেরিফাই করুন কোনো অ্যাপ আছে কিনা এই ইন্টেন্ট হ্যান্ডল করতে
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
} else {
// কোনো ব্রাউজার নেই - ফলব্যাক
// Toast.makeText(this, "No browser found", Toast.LENGTH_SHORT).show();
}
}
}
ধাপ ৪: AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="com.example.openurl">
<uses-permission android:name="android.permission.INTERNET" />
<application ...>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
আরও ব্যবহারিক উদাহরণ
ইমেল পাঠানো
Intent emailIntent = new Intent(Intent.ACTION_SENDTO);
emailIntent.setData(Uri.parse("mailto:someone@example.com"));
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
emailIntent.putExtra(Intent.EXTRA_TEXT, "Body text");
startActivity(Intent.createChooser(emailIntent, "Send email via"));
ফোন কল করা
Intent callIntent = new Intent(Intent.ACTION_DIAL);
callIntent.setData(Uri.parse("tel:1234567890"));
startActivity(callIntent);
SMS পাঠানো
Intent smsIntent = new Intent(Intent.ACTION_SENDTO);
smsIntent.setData(Uri.parse("smsto:1234567890"));
smsIntent.putExtra("sms_body", "Message text");
startActivity(smsIntent);
গুগল ম্যাপে লোকেশন খোলা
Intent mapIntent = new Intent(Intent.ACTION_VIEW);
mapIntent.setData(Uri.parse("geo:37.7749,-122.4194?q=Golden+Gate+Bridge"));
startActivity(mapIntent);
সেরা অনুশীলন (Best Practices)
- URL-এ সবসময়
https://বাhttps://প্রিফিক্স রাখুন resolveActivity()দিয়ে চেক করুন অ্যাপ আছে কিনা (ক্র্যাশ প্রতিরোধ)Intent.createChooser()ব্যবহার করুন যাতে ইউজার অ্যাপ বেছে নিতে পারেন- ডিপ লিংকিং (App Links) কনফিগার করুন আপনার নিজের অ্যাপের জন্য
Android 11+ (API 30) প্যাকেজ ভিজিবিলিটি
Android 11-এ queries 엘িমেন্ট যোগ করুন Manifest-এ:
<manifest ...>
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="https" />
</intent>
</queries>
<application ...> ... </application>
</manifest>