从机器人的活动开始广播接收机 [英] Start Broadcast Receiver from an activity in android

查看:147
本文介绍了从机器人的活动开始广播接收机的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从活动开始的广播接收机。我有延伸的广播接收器和一个Main.java文件,从我开始广播接收机Second.java文件。 我也想这样做的Main.java一切如下,但不知道如何定义清单文件...

I would like to start a broadcast receiver from an activity. I have a Second.java file which extends a broadcast receiver and a Main.java file from which I have to initiate the broadcast receiver. I also tried doing everything in Main.java as follows but didn't know how to define in manifest file...

public class Main extends Activity {
/** Called when the activity is first created. */
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
String rec_data = "Nothing Received";
private BroadcastReceiver myReceiver = new BroadcastReceiver() {

        public void onReceive(Context context, Intent intent) {
            // TODO Auto-generated method stub
            if( intent.getStringExtra("send_data")!=null)
                    rec_data = intent.getStringExtra("send_data");
            Log.d("Received Msg : ",rec_data);
        }
    }; 
    }
    protected void onResume() {
        IntentFilter intentFilter = new IntentFilter();
        //intentFilter.addDataType(String);
        registerReceiver(myReceiver, intentFilter);
        super.onResume();
    }

  @Override
protected void onPause() {
// TODO Auto-generated method stub
    super.onPause();
    this.unregisterReceiver(this.myReceiver);
}

}

如果我不能做的一切都在一个类上面,我怎么能称之为广播接收器从Main.java?任何人都可以请让我知道我做错了?谢谢!

If I cannot do everything in one class as above, how can I call the Broadcast Receiver from Main.java? Can anyone please let me know where I'm doing it wrong? Thanks!

推荐答案

使用这究竟是为什么发送自定义广播:

use this why to send a custom broadcast:

定义操作名称:

public static final String BROADCAST = "PACKAGE_NAME.android.action.broadcast";

AndroidManifest.xml中登记接收器:

AndroidManifest.xml register receiver :

<receiver android:name=".myReceiver" >  
    <intent-filter >  
        <action android:name="PACKAGE_NAME.android.action.broadcast"/>  
    </intent-filter>  
</receiver> 

注册Reciver:

Register Reciver :

IntentFilter intentFilter = new IntentFilter(BROADCAST);
registerReceiver( myReceiver , intentFilter);

从活动发送广播消息:

send broadcast from your Activity :

Intent intent = new Intent(BROADCAST);  
        Bundle extras = new Bundle();  
        extras.putString("send_data", "test");  
        intent.putExtras(extras);  
        sendBroadcast(intent);

您BroadcastReceiver的:

YOUR BroadcastReceiver :

private BroadcastReceiver myReceiver = new BroadcastReceiver() {

        public void onReceive(Context context, Intent intent) {
            // TODO Auto-generated method stub
             Bundle extras = intent.getExtras();
           if (extras != null){  
           {
                    rec_data = extras.getString("send_data");
            Log.d("Received Msg : ",rec_data);
            }
        }
    };

为自定义发送的更多信息,请参阅<一href="http://thinkandroid.word$p$pss.com/2010/02/02/custom-intents-and-broadcasting-with-receivers/">Custom意图和广播与接收器

这篇关于从机器人的活动开始广播接收机的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆