在AndroidManifest.xml里注册一个广播接受类

<receiver android:name=".MainActivity$Receive">
</receiver>
2、定义广播接受类

class Receive extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
switch (action) {
case "play":
if (mediaPlayer.isPlaying()) {
mediaPlayer.pause();
play.setImageDrawable( getResources().getDrawable( R.drawable.play ) );
remoteViews.setImageViewResource( R.id.nPlay, R.drawable.play );
notification.bigContentView=remoteViews;
manager.notify( 1, notification ); //notify可以直接更新通知Notification
} else {
mediaPlayer.start();
play.setImageDrawable( getResources().getDrawable( R.drawable.pause ) );
remoteViews.setImageViewResource( R.id.nPlay, R.drawable.pause );
notification.bigContentView=remoteViews;
manager.notify( 1, notification ); //notify可以直接更新通知Notification
}
break;
case "lastSong":

break;
case "nextSong":

break;

}
}
}
3、在onCreate()方法里启用广播接收器,在onDestroy()方法里关闭广播接收器

//开启广播接收器:不能在sendNotification里注册,因为该方法在监听方法里注册,会造成多次执行onReceiver方法情况
receive = new Receive();
IntentFilter filter = new IntentFilter();
filter.addAction("play"); //设置广播接收器监听的Action
registerReceiver(receive, filter);

@Override
protected void onDestroy() {
super.onDestroy();
//关闭广播接收器
unregisterReceiver( receive );
}
————————————————

原文地址:https://www.cnblogs.com/hyhy904/p/11414313.html

时间: 2024-08-30 16:16:49

在AndroidManifest.xml里注册一个广播接受类的相关文章

AndroidManifest.xml里加入不同package的component (Activity、Service里android:name里指定的值一般为句号加类名),可以通过指定完全类名(包名+类名)来解决

我们都知道对于多个Activity如果在同一个包中,在Mainfest中可以这样注册 Xml代码   <span style="font-size: small;"><?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package=&

BroadcastReceiver广播接收者(二)——利用AndroidManifest.xml注册广播接收者

MainActivity如下: package cc.testbroadcasta; import android.os.Bundle; import android.app.Activity; import android.content.Intent; /** * Demo描述: * 利用AndroidManifest.xml注册广播接收者 */ public class MainActivity extends Activity { @Override protected void onC

(4.6.12)AndroidManifest.xml常用属性大全[进行中]

1-manifest 属性和节点 1-1 package 1-2 xmlnsandroid 1-3 xmlnstoolshttpschemasandroidcomtools 1-4 androidversionCode 1-5 androidversionName 1-6 androidsharedUserId 1-7 androidsharedUserLabel 1-8 androidinstallLocation 2-uses-sdk 3-uses-permission 3-1 androi

Android 基础 一 AndroidManifest.xml

一.概述 AndroidManifest.xml是Android应用的入口文件,它描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置. 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试). 二.结构 <?xmlversion="1.0"e

AndroidManifest.xml

<activity>中: android:name=""//对应的java文件 android:configChanges="" 对Android:configChanges属性,一般认为有以下几点: 1.不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次 2.设置Activity的android:configChanges="orientation"

学习Android之-----------------------AndroidManifest.xml

在Android中,有一个文件叫AndroidManifest.xml ,该文件是Android项目开发的全局配置文件, 以.xml结尾.熟悉java web开发的朋友可能都知道,在Web工程中,也有一个全局的配置文件,叫web.xml. 当然AndroidManifest.xml 与 web.xml 是类似的,我们都可以在文件中配置有关项目的相关配置(如初始 化变量设置,Android Activity配置,servlet配置等等). 总的来说,开发Android应用所有需要配置的都需要在 A

【转】AndroidManifest.xml文件解析

AndroidManifest.xml是每个android程序中必须的文件.它位于application的根目录,描述了package中的全局数据,包括了package中暴露的组件(activities, services, 等等),它们各自的实现类,各种能被处理的数据和启动位置. 此文件一个重要的地方就是它所包含的intent-filters. 这些filters描述了activity启动的位置和时间.每当一个activity(或者操作系统)要执行一个操作,例如:打开网页或联系簿时,它创建出一

android.content.ActivityNotFoundException: Unable to find explicit activity class {...}; have you declared this activity in your AndroidManifest.xml?

解决方法: 在文件 AndroidManifest.xml里添加 <activity android:name="com.example.contentprovider_e.ReCallLog" > </activity> 结果为: PS:我起初添加的Activity是CallLog.java而不是ReCallLog.java,所以我在AndroidManifest.xml里添加添加了<Activity></Activity>也同样报错,

第三十九讲:Android之AndroidManifest.xml文件中注册权限

积土而为山,积水而为海.--<荀子·儒效> 本讲内容:android权限详细 1 访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 2 获取错略位置 android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米 3 获取精确位置 android.permission.ACCESS