2012-02-26 4 views
0

브로드 캐스트 리시버에 문제가 있습니다. 가 onReceive에서 활동을 시작 어쩌려 구`t()이 내 매니페스트 방법 입니다 :브로드 캐스트 리시버의 메소드를 통해 의도를 시작할 수있는 방법은 무엇입니까?

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" > 
    <receiver 
     android:name=".MyBroadcastReceiver"> 
     <intent-filter> 
      <action android:name="android.intent.action.ACTION_POWER_CONNECTED"/> 
     </intent-filter> 
    </receiver> 
    <activity 
     android:name=".BatteryActivity" 
     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=".ChargeConnected"> 
     <intent-filter> 
      <action android:name="gang.my_package.Battery.CHARGE_CONNECTED"/> 
      <category android:name="android.intent.category.DEFAULT"/> 
     </intent-filter> 
    </activity> 
</application> 

이 내 방법 onReceive()이다 :

public void onReceive(Context context, Intent intent) 
{ 
    // TODO Auto-generated method stub 
    Intent myIntent = new Intent("gang.my_package.Battery.CHARGE_CONNECTED"); 
    context.startActivity(myIntent); 
    //Toast.makeText(context, "Hello World!", Toast.LENGTH_LONG).show(); 
} 

나는 토스트를 만들기 위해 노력하고, 그것은 작동합니다. 하지만 새로운 활동을 시작하려고하면 작동하지 않습니다. 그래서 문제가 무엇입니까? 도와주세요

답변

1

문제는 귀하의 myIntent 변수가 시작할 활동을 설명하지 않는 것입니다. http://www.androidcompetencycenter.com/2009/03/tutorial-how-to-start-a-new-activity/에는 유효한 활동 의도 (현재 응용 프로그램 내에있는 활동에 대한)를 설명하는 한 예가 있습니다. How to start activity in another application?은 일반적인 활동 의도 (모든 응용 프로그램에있을 수 있음을 의미)를 만드는 것을 보여줍니다.

관련 문제