学习中1(来源于sdk大全)

    技术2022-05-20  31

     

    package com.receiver.test2;

     

    import android.app.Activity;

    import android.app.Dialog;

    import android.content.BroadcastReceiver;

    import android.content.Context;

    import android.content.Intent;

    import android.content.IntentFilter;

    import android.os.Bundle;

    import android.view.View;

    import android.view.Window;

    import android.view.WindowManager;

    import android.widget.Button;

    import android.widget.TextView;

     

    public class ReceiverTest extends Activity {

    private int intLevel;

    private int intScale;

    private Button mButton01;

     

     

        private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver() {

     

    @Override

    public void onReceive(Context context, Intent intent) {

    // TODO Auto-generated method stub

    String action = intent.getAction();

    if(Intent.ACTION_BATTERY_CHANGED.equals(action)) {

    intLevel = intent.getIntExtra("level", 0);

    intScale = intent.getIntExtra("scale", 100);

    onBatteryInfoReceiver(intLevel,intScale);

    }

    }

        

        };

        /** Called when the activity is first created. */

        @Override

        public void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.main);

            mButton01 = (Button)findViewById(R.id.myButton1);

     

            mButton01.setOnClickListener(new Button.OnClickListener(){

     

    @Override

    public void onClick(View arg0) {

    // TODO Auto-generated method stub

    registerReceiver(mBatInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));

    }

            

            });

        }

     

        public void onBatteryInfoReceiver(int intLevel, int intScale) {

         final Dialog d = new Dialog(ReceiverTest.this);

         d.setContentView(R.layout.mydialog);

        

         Window window = d.getWindow();

         window.setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, WindowManager.LayoutParams.FLAG_BLUR_BEHIND);

        

         TextView mTextView02 = (TextView)d.findViewById(R.id.myTextView02);

         mTextView02.setText(getResources().getText(R.string.str_dialog_body)+String.valueOf(intLevel * 100/intScale) + "%");

        

         Button mButton02 = (Button)d.findViewById(R.id.myButton2);

         mButton02.setOnClickListener(new Button.OnClickListener() {

     

    @Override

    public void onClick(View v) {

    // TODO Auto-generated method stub

    unregisterReceiver(mBatInfoReceiver);

    d.dismiss();

    }

        

         });

         d.show();

        }

    }

     

     

    main.xml

     

     

    <?xml version="1.0" encoding="utf-8"?>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

        android:orientation="vertical"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        >

    <TextView  

        android:layout_width="wrap_content" 

        android:layout_height="wrap_content" 

        android:text="@string/how_to_get_battery"

        />

        <Button

         android:id="@+id/myButton1"

         android:layout_width="wrap_content"

         android:layout_height="wrap_content" 

         android:text="@string/press_me"

        />

    </LinearLayout>

     

     

     

    mydialog.xml

     

     

    <?xml version="1.0" encoding="utf-8"?>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

        android:orientation="vertical"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        >

    <TextView  

    android:id="@+id/myTextView02"

        android:layout_width="wrap_content" 

        android:layout_height="wrap_content" 

        android:text="@string/hello"

        />

        <Button

         android:id="@+id/myButton2"

         android:layout_width="wrap_content"

         android:layout_height="wrap_content" 

         android:text="@string/return_back"

        />

    </LinearLayout>

    <?xml version="1.0" encoding="utf-8"?> <resources>     <string name="hello">Hello World, ReceiverTest!</string>     <string name="app_name">ReceiverTest2</string>     <string name="str_dialog_body">电量计算:</string>     <string name="how_to_get_battery">如何获取电池电量?</string>     <string name="press_me">点击我获得电量</string>     <string name="return_back">返回</string>      </resources>

     

    manifest.xmlbu

     


    最新回复(0)