接收广播弹出对话框

来源:互联网 发布:java.util.base64下载 编辑:程序博客网 时间:2024/05/16 05:25

首先在广播接收者的onReceive()方法中写上下列代码:

通知的内容            String message = bundle.getString(JPushInterface.EXTRA_ALERT);            Intent intent_dialog = new Intent(context, DialogUtilsActivity.class);            intent_dialog.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);            intent_dialog.putExtra("message",message);//传递参数到DialogUtilsActivity中。            context.startActivity(intent_dialog);

下面 是DialogUtilsActivity的代码:


//对话框的弹出Activitypublic class DialogUtilsActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.dialog_layout);        initView();    }    private void initView() {        //点击这个Activity的边缘不会消失        this.setFinishOnTouchOutside(false);        String title= "友情提示";        String message = getIntent().getStringExtra("message") ;        //点击确定按钮的反应        Button btn_ensure = (Button) findViewById(R.id.dialog_ensure);        btn_ensure.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                DialogUtilsActivity.this.finish();            }        });        Button btn_cancle = (Button) findViewById(R.id.dialog_ensure2);        btn_cancle.setVisibility(View.GONE);        //设置标题        TextView tv_title = (TextView) findViewById(R.id.title);        tv_title.setText(title);        //设置提示内容        TextView tv_message = (TextView) findViewById(R.id.message);        if(!StringUtils.isEmpty(message)){            tv_message.setText(message);        }    }}

下面是dialog_layout.xml的布局:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="@drawable/shape_rec_little_nopadding"    android:orientation="vertical">    <!-- 中间白色背景,两个TextView,标题和内容,留一个LinearLayout,在代码中根据调用动态加上按钮 -->    <TextView        android:id="@+id/title"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_marginBottom="@dimen/layout_margin_ten"        android:gravity="center_horizontal"        android:paddingTop="@dimen/layout_margin_ten"        android:text=""        android:textColor="@color/black"        android:textSize="17sp" />    <!--横线-->    <include layout="@layout/view" />    <TextView        android:id="@+id/message"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_marginBottom="30dp"        android:layout_marginTop="30dp"        android:gravity="center"        android:text=""        android:textColor="@color/black"        android:textSize="17sp" />    <include layout="@layout/view" />    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal">        <Button            android:id="@+id/dialog_ensure"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:background="@null"            android:gravity="center"            android:paddingBottom="@dimen/layout_margin_ten"            android:paddingTop="@dimen/layout_margin_ten"            android:text="确认"            android:textSize="17sp" />        <include layout="@layout/view_vertical" />        <Button            android:id="@+id/dialog_ensure2"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:background="@null"            android:gravity="center"            android:paddingBottom="@dimen/layout_margin_ten"            android:paddingTop="@dimen/layout_margin_ten"            android:text="取消"            android:textSize="17sp" />    </LinearLayout></LinearLayout>

在清单文件中的设置:

<!--全局dialog界面--><activity android:name=".utils.DialogUtilsActivity"    android:label="@string/app_name"    android:screenOrientation="portrait"    android:theme="@style/MyDialogStyleBottom"/>

其中style中的MyDialogStyleBottom:


<!--DialogActivity的style--><style name="MyDialogStyleBottom" parent="android:Theme.Dialog">    <item name="android:windowFrame">@null</item>    <!-- 边框 -->    <item name="android:windowIsFloating">true</item>    <!-- 是否浮现在activity之上 -->    <item name="android:windowIsTranslucent">true</item>    <!-- 半透明 -->    <item name="android:windowNoTitle">true</item>    <!-- 无标题 -->    <item name="android:windowBackground">@android:color/transparent</item>    <!-- 背景透明 -->    <item name="android:backgroundDimEnabled">true</item>    <!-- 模糊 --></style>

0 0
原创粉丝点击