2012-06-02 13 views
0

我想通過BroadcastReceiver顯示第二個頁面,但應用程序不斷崩潰,我不知道爲什麼。 這可能是一個正確的上下文問題。通過BroadcastReceiver更改頁面不起作用

public class ScreenReceiver extends BroadcastReceiver { 

@Override 
public void onReceive(Context context, Intent intent) { 

     if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) { 
      Log.v("$$$$$", "In Method: ACTION_SCREEN_OFF"); 

     } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) { 
        Log.v("$$$$$", "In Method: ACTION_SCREEN_ON"); 
      changeActivity(context); 
     } else if (intent.getAction().equals(Intent.ACTION_USER_PRESENT)) { 
        Log.v("$$$$$", "In Method: USER_PRESENT"); 
     } 
    } 

public void changeActivity(Context context) { 

    Intent intent = new Intent(context, Second_Page.class); 

    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 

    context.startActivity(intent); 
    } 
} 

我的艙單。在那裏,我聲明類日誌文件的狀態丟失:

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

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 
     <activity 
      android:name=".CatchUnlockActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name="second_page" > 
     </activity> 
    </application> 

</manifest> 
+4

您的系統日誌(logcat)將包含崩潰時的堆棧跟蹤。如果您發佈該信息,回覆的質量和數量將顯着提高。 – mah

+0

你是對的,應該做到這一點。 我的不好。 它在這裏: http://pastebin.com/eCr90iV9 似乎我缺少類聲明!?但是班級在清單中聲明。 – hamena314

回答

0

找到了解決辦法: 類的聲明是區分大小寫!

每次發生都從「second_page」更改爲「Second_Page」,現在它可以工作。

相關問題