2011-06-22 10 views
1

私はブロードキャスト受信機を拡張するクラスを持っています。私の質問は、別のクラスでこのアクティビティを呼び出す方法についてです...その目的を作成しようとしましたが、構文エラーが発生しました。放送受信機を起動する別の方法ですか?ブロードキャスト受信機を起動するには?

+1

どのような構文エラーが表示されますか。 –

+0

エラーについては、正確なエラーの説明とコードを投稿することをお勧めします。 – mibollma

+0

マニフェストファイルとあなたが呼び出したインテントコードを投稿してください。 – advantej

答えて

2

あなたは活動があなたのBroadcastReceiverと意図を起動1、マニフェストファイルであなたのBroadcastReceiverのフィルタに一致する意図である

Intent intent = new Intent("mypackage.myaction"); 
activity.sendBroadCast(intent); 

を使用する必要があります。

あなたがどのように見える何かを行います。

<receiver android:name="your broadcast receiver class" android:label="a name"> 
    <intent-filter> 
     <action android:name="mypackage.myaction" /> 
    </intent-filter> 
</receiver> 

よろしく、 ステファン

+0

マニフェストのインテントフィルタはどのように見えますか?放送受信機のために? – theITRanger22

2
IntentFilter filter = new IntentFilter("com.mydefinepackage.myactivity"); 
this.registerReceiver(new Receiver(), filter); 

をこのプライベートクラスを宣言し、myactivityアクティビティ内のコードの上に使用します。

private class Receiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context arg0, Intent arg1) { 
     myOwnMethod(); 
    } 
} 

このコードを他のアクティビティから実行します。 myOwnMethodが呼び出されます。

Intent i =new Intent("com.mydefinepackage.myactivity"); 
sendBroadcast(i); 
関連する問題