2012-05-21 1 views
1

Я разработал свой собственный Android Launcher, он работает очень хорошо, проблема в том, когда я нажимаю кнопку HOME, это не перенаправляет меня на домашнюю страницу, как я могу исправить эту проблему , Благодаря!Button Home в Launcher не работает

Вот мой файл манифеста:

<?xml version="1.0" encoding="UTF-8"?> 

<uses-sdk android:minSdkVersion="8" /> 

<uses-permission android:name="android.permission.INTERNET" /> 

<permission 
    android:name="com.android.launcher.permission.INSTALL_SHORTCUT" 
    android:permissionGroup="android.permission-group.SYSTEM_TOOLS" 
    android:protectionLevel="normal" /> 
<permission 
    android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" 
    android:permissionGroup="android.permission-group.SYSTEM_TOOLS" 
    android:protectionLevel="normal" /> 
<permission 
    android:name="com.android.launcher.permission.READ_SETTINGS" 
    android:permissionGroup="android.permission-group.SYSTEM_TOOLS" 
    android:protectionLevel="normal" /> 
<permission 
    android:name="com.android.launcher.permission.WRITE_SETTINGS" 
    android:permissionGroup="android.permission-group.SYSTEM_TOOLS" 
    android:protectionLevel="normal" /> 

<uses-permission android:name="android.permission.CALL_PHONE" /> 
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" /> 
<uses-permission android:name="android.permission.GET_TASKS" /> 
<uses-permission android:name="android.permission.READ_CONTACTS" /> 
<uses-permission android:name="android.permission.SET_WALLPAPER" /> 
<uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" /> 
<uses-permission android:name="android.permission.VIBRATE" /> 
<uses-permission android:name="android.permission.WRITE_SETTINGS" /> 
<uses-permission android:name="android.permission.BIND_APPWIDGET" /> 
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /> 
<uses-permission android:name="com.android.launcher.permission.WRITE_SETTINGS" /> 

<application 
    android:name="STB" 
    android:icon="@drawable/icon" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" > 
    <activity 
     android:name=".testingactivity.CoverFlowTestingActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.HOME" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
      <category android:name="android.intent.category.MONKEY" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name="pl.polidea.coverflow.testingactivity.PagerLauncherActivity" 
     android:label="@string/app_name" > 
    </activity> 
    <activity 
     android:name="pl.polidea.coverflow.testingactivity.GameActivity" 
     android:label="@string/app_name" > 
    </activity> 
    <activity 
     android:name="pl.polidea.coverflow.testingactivity.CinemaActivity" 
     android:label="@string/app_name" > 
    </activity> 
    <activity 
     android:name="pl.polidea.coverflow.testingactivity.Black" 
     android:label="@string/app_name" > 
    </activity> 
    <activity 
     android:name="pl.polidea.coverflow.testingactivity.CommunicationActivity" 
     android:label="@string/app_name" > 
    </activity> 
    <activity 
     android:name="pl.polidea.coverflow.testingactivity.InternetActivity" 
     android:label="@string/app_name" > 
    </activity> 
    <activity 
     android:name="pl.polidea.coverflow.testingactivity.LiveActivity" 
     android:label="@string/app_name" > 
    </activity> 
    <activity 
     android:name="pl.polidea.coverflow.testingactivity.MusicActivity" 
     android:label="@string/app_name" > 
    </activity> 
    <activity 
     android:name="pl.polidea.coverflow.testingactivity.SettingsActivity" 
     android:label="@string/app_name" > 
    </activity> 
    <activity 
     android:name="pl.polidea.coverflow.testingactivity.SocialActivity" 
     android:label="@string/app_name" > 
    </activity> 
    <activity 
     android:name="pl.polidea.coverflow.testingactivity.TvShowActivity" 
     android:label="@string/app_name" > 
    </activity> 
    <activity 
     android:name="pl.polidea.coverflow.testingactivity.ApplicationActivity" 
     android:label="@string/app_name" > 
    </activity> 

    <receiver android:name="pl.polidea.coverflow.testingactivity.ApplicationBroadcastService" > 
     <intent-filter> 
      <action android:name="android.intent.action.PACKAGE_INSTALL" /> 
      <action android:name="android.intent.action.PACKAGE_ADDED" /> 

      <data android:scheme="package" /> 
     </intent-filter> 
    </receiver> 
</application> 

+0

Вы можете вызвать мероприятие для дома на этой кнопке Click Event. –

+0

Это не помогает брату ... не могли бы вы объяснить больше, пожалуйста? – Vervatovskis

+0

Пожалуйста, ребята, я мог бы уволить сегодня! – Vervatovskis

ответ

1

Заканчивать Home - образец пользовательского запуска. Здесь находится диспетчер ключевых событий внутри него:

@Override 
public boolean dispatchKeyEvent(KeyEvent event) { 
    if (event.getAction() == KeyEvent.ACTION_DOWN) { 
      ... 
      case KeyEvent.KEYCODE_HOME: 
       mHomeDown = true; 
       return true; 
     } 
    } else if (event.getAction() == KeyEvent.ACTION_UP) { 
     switch (event.getKeyCode()) { 
      ... 
      case KeyEvent.KEYCODE_HOME: 
       if (!event.isCanceled()) { 
        // Do HOME behavior. 
       } 
       mHomeDown = true; 
       return true; 
     } 
    } 

    return super.dispatchKeyEvent(event); 
} 

Вы можете реализовать свое поведение, о котором говорится в комментарии. В случае этого образца будет hideApplications() вызов, чтобы скрыть сетку приложения.

+0

Он работает ... Спасибо, брат! – Vervatovskis