2011-01-30 3 views
0

На устройствах Android, когда вы нажимаете или долго нажимаете на пустую область главного экрана, открывается диалоговое окно Add to Home Activity/dialog, позволяющее вам выбирать из разных параметров для размещения на главном экране.Как называть «Добавить в избранное» в Android?

У меня есть уведомление, которое отключается в строке состояния, то, что я хочу сделать, - это когда это уведомление нажато. Я хочу открыть функцию «Добавить в главную».

Уведомление работает нормально.

Есть ли название activity.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

ответ

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); 

Надежда из этого вы можете получить что-то, чтобы начать «Добавить на главную активность».

Смежные вопросы