2012-02-26 5 views
0

ブロードキャストレシーバに問題があります。 )ブロードキャストレシーバのメソッド経由でインテントを開始するにはどうすればいいですか?

<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(です:: これが私のマニフェストですonReceive()メソッド から活動を開始doesnの `t

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/には、有効なアクティビティインテント(現在のアプリケーション内のアクティビティ)を記述する1つの例があります。 How to start activity in another application?は、一般的なアクティビティインテント(任意のアプリケーションに含めることができるという意味)の作成を示します。