zoukankan      html  css  js  c++  java
  • Android 消息广播Intent传递数据

    1.创建布局文件activity_broadcast.xml

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".BroadcastActivity" >
    
        <Button
            android:id="@+id/sendBroadcastIntent"  
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content" 
            android:text="Broadcast Intent"
            />
    </RelativeLayout>

    2.创建Activity

    public class BroadcastActivity extends Activity {
        //设定为com.china.ui.NEW_LIFEFORM,显示内容前,多一条信息"收到广播信息";
        //public static final String MY_NEW_LIFEFORM="com.china.ui.NEW_LIFEFORM";
        public static final String MY_NEW_LIFEFORM="NEW_LIFEFORM";
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_broadcast);
            //传递数据
            final Intent intent=new Intent(MY_NEW_LIFEFORM);
            intent.putExtra("msgContent", "测试内容");
            //初始化按钮
            Button button=(Button) findViewById(R.id.sendBroadcastIntent);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View arg0) {
                    sendBroadcast(intent);
                }
            });
        }
    }

    3.创建BroadcastReceiver

    public class Receiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            String content=intent.getStringExtra("msgContent");
            CharSequence string="收到信息:"+content;
            Toast.makeText(context, string, Toast.LENGTH_LONG).show();
        }
    }

    4.配置AndroidManifest.xml

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.dh.broadcast"
        android:versionCode="1"
        android:versionName="1.0" >
        <uses-sdk   android:minSdkVersion="8"  android:targetSdkVersion="17" />
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name="com.dh.broadcast.BroadcastActivity"
                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="com.dh.broadcast.Receiver" android:enabled="true">
                <intent-filter >
                    <!-- <action android:name="com.china.ui.NEW_LIFEFORM"/> -->
                    <action android:name="NEW_LIFEFORM"/>
                </intent-filter>
            </receiver>
        </application>
    </manifest>
  • 相关阅读:
    Samba 4.0 RC3 发布
    SymmetricDS 3.1.7 发布,数据同步和复制
    Express.js 3.0 发布,Node.js 的高性能封装
    GIFLIB 5.0.1 发布,C语言的GIF处理库
    jQuery UI 1.9.1 发布
    SVN Access Manager 0.5.5.14 发布 SVN 管理工具
    DynamicReports 3.0.3 发布 Java 报表工具
    HttpComponents HttpClient 4.2.2 GA 发布
    AppCan 2.0 正式发布,推移动应用云服务
    Ruby 2.0 的新功能已经冻结
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4228835.html
Copyright © 2011-2022 走看看