zoukankan      html  css  js  c++  java
  • 广播机制(一)

    AndroidManifest.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    	package="mars.testbc" android:versionCode="1" android:versionName="1.0">
    	<application android:icon="@drawable/icon" android:label="@string/app_name">
    		<activity android:name=".TestActivity" android:label="@string/app_name">
    			<intent-filter>
    				<action android:name="android.intent.action.MAIN" />
    				<category android:name="android.intent.category.LAUNCHER" />
    			</intent-filter>
    		</activity>
    
    		<receiver android:name=".TestReceiver">
    			<intent-filter>
    				<action android:name="android.intent.action.PICK" />
    			</intent-filter>
    		</receiver>
    	</application>
    	<uses-sdk android:minSdkVersion="4" />
    	<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
    </manifest> 
    

    TestReceiver.java:

    package mars.testbc;
    
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    
    public class TestReceiver extends BroadcastReceiver{
    
    	public TestReceiver(){
    		System.out.println("TestReceiver");
    	}
    	@Override
    	public void onReceive(Context context, Intent intent) {
    		System.out.println("onReceive");
    	}
    }
    

    TestActivity.java:

    package mars.testbc;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    
    public class TestActivity extends Activity {
        /** Called when the activity is first created. */
    	private Button sendButton;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.testreceiver);
            sendButton = (Button)findViewById(R.id.sendButton);
            sendButton.setOnClickListener(new BroadcastListener());
        }
        class BroadcastListener implements OnClickListener{
    
    		@Override
    		public void onClick(View v) {
    			Intent intent = new Intent();
    			intent.setAction(Intent.ACTION_EDIT);
    			TestActivity.this.sendBroadcast(intent);
    		}
        	
        }
    }
    

    每次点击按钮之后,都会重新调用TestReceiver中的方法。

  • 相关阅读:
    AcWing每日一题--数字三角形
    AcWing每日一题--货仓选址
    Codeforces Round #693
    动态规划--多重背包
    动态规划--完全背包
    动态规划--01背包
    博弈论--SG函数
    博弈论--Nim游戏
    基础数论--容斥定理
    基础数论--卡特兰数
  • 原文地址:https://www.cnblogs.com/leihupqrst/p/3175961.html
Copyright © 2011-2022 走看看