Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android BroadcastReceiver實例Demo(有序廣播的發送)

Android BroadcastReceiver實例Demo(有序廣播的發送)

編輯:關於Android編程

上一篇簡單介紹了廣播的發送,這篇主要介紹下,有序廣播的發送。

設置完相關屬性的時候,廣播就會按照有序的方式進行發送:

發送順序:

第一條廣播;

再發送第二條廣播;

最後發送第三條廣播。

代碼如下:

\


布局文件:

activity_main(一個Button):



    

MainActivity:

package com.android_broadcasereceiverdemo2;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {
	private Button button;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		button = (Button) findViewById(R.id.button1);
		button.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				Intent intent = new Intent();
				intent.setAction("myaction");
				intent.putExtra("name", "梅西");
				sendOrderedBroadcast(intent, null);
			}
		});
	}
}


FirstBroadcast:

package com.android_broadcasereceiverdemo2;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

public class FirstBroadcast extends BroadcastReceiver {

	@Override
	public void onReceive(Context context, Intent intent) {
		
		String name = intent.getStringExtra("name");
		Toast.makeText(context, "第一條廣播已發送..."+name, Toast.LENGTH_SHORT).show();
//		abortBroadcast();//當加上這條代碼的時候,廣播發送到此結束,即第三條廣播不會再收到。
	}

}

SecondBroadcast:

package com.android_broadcasereceiverdemo2;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

public class SecondBroadcast extends BroadcastReceiver {

	@Override
	public void onReceive(Context context, Intent intent) {
		
		String name = intent.getStringExtra("name");
		Toast.makeText(context, "第二條廣播已發送..."+name, Toast.LENGTH_SHORT).show();
	}

}


ThirdBroadcast:

package com.android_broadcasereceiverdemo2;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

public class ThirdBroadcast extends BroadcastReceiver {

	@Override
	public void onReceive(Context context, Intent intent) {
		
		String name = intent.getStringExtra("name");
		Toast.makeText(context, "第三條廣播已發送..."+name, Toast.LENGTH_SHORT).show();
	}

}

AndroidManifest.xml(很關鍵):




    

    
        
            
                

                
            
        

        
            
            
                
            
        
        
        
            
                
            
        
        
        
            
                
            
        
    



需要源碼的讀者可以到我的資源中下載。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved