What is Intent in Android? - Android में Intent क्या है?
Intent Android का एक object होता है जो एक component से दूसरे component को message भेजने का काम करता है।
Intent का use Activities, Services, और Broadcast Receivers को start करने के लिए किया जाता है।
Intent दो प्रकार के होते हैं –
Explicit Intent (जब हम clearly बताते हैं कि कौन सी activity start करनी है)
Implicit Intent (जब हम सिर्फ action बताते हैं, और system खुद decide करता है कौन सा component handle करेगा)
Intent में हम extra data भी भेज सकते हैं, जैसे एक activity से दूसरी activity में username भेजना।
Intent को startActivity() method से call किया जाता है, जिससे नया screen open होता है।
Intent में action, data और category जैसे parts हो सकते हैं, जो बताते हैं कि क्या करना है और किसके साथ करना है।
BroadcastReceiver में भी Intent का इस्तेमाल होता है, ताकि हम कोई message पूरे system में broadcast कर सकें (जैसे battery low का alert).
Intent एक important part है Android app के अंदर communication के लिए, जिससे अलग-अलग हिस्से आपस में जुड़े रहते हैं।
Implicit Intent in Hindi:
Implicit Intent का मतलब होता है किसी specific component को directly ना बताकर, सिर्फ action बताना।
System खुद decide करता है कि इस action को handle करने के लिए कौन सी app या component सही है।
इसका use तब होता है जब हम चाहते हैं कि कोई काम करें, जैसे – call करना, message भेजना, photo लेना या browser खोलना।
Implicit Intent किसी दूसरी app के component को भी trigger कर सकता है।
Example: अगर हम किसी website का URL खोलना चाहते हैं:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://www.google.com"));
Implicit Intent में सिर्फ action और data दिया जाता है, ना कि class name.
System उस intent को handle करने वाली apps की list दिखा सकता है (chooser dialog).
Common actions होते हैं – ACTION_VIEW, ACTION_DIAL, ACTION_SEND आदि।
Intent Filters की मदद से app यह बता सकती है कि वह किस type का implicit intent handle कर सकती है।
Implicit Intent flexible होता है, क्योंकि यह हमें दूसरी apps के साथ interact करने का मौका देता है।
Explicit Intent in Hindi:
Explicit Intent का मतलब होता है किसी खास (specific) component को target करना।
इसका use तब किया जाता है जब हमें अपनी app की किसी particular activity, service या broadcast receiver को launch करना हो।
इसमें हम clearly बताते हैं कि कौन सी class को open करना है।
ये intent mostly दो activities के बीच communication के लिए use होता है।
Example: अगर आपकी app में दो screens हैं (MainActivity और SecondActivity), तो MainActivity से SecondActivity को open करने के लिए Explicit Intent का use होगा।
Intent constructor में हम context और target class का नाम पास करते हैं।
Intent के साथ data भी भेज सकते हैं जैसे name, id आदि –
intent.putExtra("username", "Deepanshu");
Intent को start करने के लिए startActivity(intent) method use होता है।
ये केवल हमारी खुद की app के components के लिए होता है, बाहर की apps को target नहीं करता।
Explicit Intent पूरी तरह safe और fast होता है, क्योंकि हमें पता होता है हम किसको call कर रहे हैं।