2011-01-30 58 views
0

在Android設備上單擊或長按主屏幕的空白區域時,會打開「添加到家庭活動」對話框,允許您從不同選項中選擇放置在主屏幕上。如何在Android中調用「添加到家庭」活動?

我有一個通知在狀態欄中消失,我想要做的是當單擊通知時我想打開「添加到家庭活動」。

通知工作正常。

是否有一個活動name.class,我可以設置爲單擊時通知的目標?

我查了Android Launcher source code

我發現這一點:

if (mWorkspace.allowLongPress()) { 
1747    if (cellInfo.cell == null) { 
1748     if (cellInfo.valid) { 
1749      // User long pressed on empty space 
1750      mWorkspace.setAllowLongPress(false); 
1751      showAddDialog(cellInfo); 
1752     } 
1753    } else { 
1754     if (!(cellInfo.cell instanceof Folder)) { 
1755      // User long pressed on an item 
1756      mWorkspace.startDrag(cellInfo); 
1757     } 
1758    } 
1759   } 
1760   return true; 

十分肯定showAddDialog(cellInfo)可以調出添加到主屏幕。

關於如何針對上述要求實施此操作的任何想法。

+0

你意識到用戶可以自由使用不同的主屏幕,對吧?而這個工作原理可能取決於主屏幕。 – Falmarri 2011-01-30 21:37:36

回答

0

要當您單擊通知你可以使用一些東西像下面開始活動,

    NotificationManager mNoficationManager; 
      mNoficationManager = (NotificationManager) mCntxt.getSystemService(Context.NOTIFICATION_SERVICE); 
      Intent intent1 = new Intent(); 
    ComponentName comp = new ComponentName("YOURPACKAGE TO START","YOUR ACTIVIT TO BE STARTED"); 
    intent1.setComponent(comp); 
    intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 


    /* SEND NOTIFICATION */ 
    PendingIntent pi = PendingIntent.getActivity(mCntxt, 0, intent1, 0); 
    Notification n = new Notification(); 
    n.flags = Notification.FLAG_ONGOING_EVENT; 
    n.defaults |= Notification.DEFAULT_SOUND; 
    n.tickerText = "some text for tickering"; 
    mNoficationManager.notify(some int value for your notification id, n); 

    int icon = mCntxt.getApplicationInfo().icon; 
      Notification notification = new Notification(icon,"some text title",System.currentTimeMillis()); 
      notification.setLatestEventInfo(mCntxt, "Some text", " some text ", pi); 

    notification.defaults |= Notification.DEFAULT_SOUND; 
    mNoficationManager.notify(NOTIFICATION_ID, notification); 

從這個希望你能得到的東西,開始「添加到主活動」。

相關問題