您的位置:首页 > 其它

开机广播并播放音乐

2017-09-20 13:38 232 查看
1、在AndroidMainfest.xml添加权限

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

 注册broadcastreceiver类

   <receiver android:name=".MyBroadcasereceiver" >

            <intent-filter>

                <!-- 开机广播 -->

                <action android:name="android.intent.action.BOOT_COMPLETED" />

                <category android:name="android.intent.category.HOME" />

            </intent-filter>

        </receiver>

2、使用一个继承BroadCastReceiver

public class MyBroadcasereceiver extends BroadcastReceiver {

    @Override

    public void onReceive(Context context, Intent intent) {

        System.out.println("============广播开启");

        if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {

            //example:启动程序

            Intent start = new Intent(context, MainActivity.class);

            start.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//

            context.startActivity(start);

        }

    }

}

3、MainActivity.Java

public class MainActivity extends AppCompatActivity {

    private MediaPlayer mp;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        try {

            //创建对象

            mp = new MediaPlayer();

            mp.setDataSource(this, Uri.parse(Environment.getExternalStorageDirectory()+"/music1.mp3"));

            //准备播放

            mp.prepare();

            //开始

            mp.start();

        } catch (Exception e) {

            e.printStackTrace();

        }

        //调用方法

        getAlert();

    }

    //定义方法弹出对话框

    public void getAlert(){

        AlertDialog.Builder builder = new AlertDialog.Builder(this);

        builder.setMessage("是否停止音乐...");

        builder.setNegativeButton("确定", new DialogInterface.OnClickListener() {

            @Override

            public void onClick(DialogInterface dialogInterface, int i) {

                mp.stop();

            }

        });

        builder.create().show();

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: