2010-05-02 27 views
20

मुझे पता है कि गतिविधि में कॉलिंग फिनिश() उसी परिणाम का उत्पादन करेगी जैसे उपयोगकर्ता बैक बटन पर क्लिक करता है; होम बटन के लिए एक समान बात है? (निश्चित कार्रवाई के बाद स्वचालित रूप से होम स्क्रीन दिखाना चाहेंगे)।एंड्रॉइड - होम पर अनुकरण करें

संपादित करें: इसके अलावा, मैं मेनू & खोज बटन के लिए एक ही चीज़ की सराहना करता हूं।

धन्यवाद!

उत्तर

56

आप बस उस के लिए एक आशय का उपयोग कर सकते हैं:

Intent i = new Intent(Intent.ACTION_MAIN); 
i.addCategory(Intent.CATEGORY_HOME); 
startActivity(i); 
+10

मैं इस एक पढ़ा एस "इसके लिए एक इरादा है" और थोड़ा सा चकित :) – alexanderblom

+2

यह एपीआई 4 (1.6) के लिए काम नहीं कर रहा है? कोई इरादा नहीं है। ACTION_HOME ... – kape123

+1

कोई "इरादा.एक्शन_एचओएमई" नहीं है - यह अस्तित्व में नहीं है। Http://developer.android.com/reference/android/content/Intent.html के अनुसार यह होना चाहिए: "श्रेणी CATEGORY_HOME श्रेणी के साथ ACTION_MAIN - होम स्क्रीन लॉन्च करें – mishkin

7

घर:

 
Intent showOptions = new Intent(Intent.ACTION_MAIN); 
showOptions.addCategory(Intent.CATEGORY_HOME); 
startActivity(showOptions); 

मेनू:

 
openOptionsMenu(); 
// this won't work from onCreate 
// if anyone has idea how it would work 
// please post it as response 
3
startActivity(new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME)); 
0

निकटतम समाधान अनुकरण करने के लिए घर के लिए क्लिक करें कि मैं मिला:

होम बटन क्लिक सिस्टम लॉग में:

मैं/ActivityManager: स्टार्ट u0 {अधिनियम = android.intent.action.MAIN बिल्ली = [android.intent.category.HOME] FLG = 0x10200000 सीएमपी = com.belauncher/.ui.activities.MainActivity (अतिरिक्त है)} प्रदर्शन 0

अनुकरण मंशा पर से uid 1000:

Intent i = new Intent(Intent.ACTION_MAIN); 
      i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      i.addFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); 
      i.addCategory(Intent.CATEGORY_HOME); 
      startActivity(i); 
संबंधित मुद्दे