快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

新蒲京澳门app下载_酒文化网进入



一.Broadcast Receive为广播接管器,它和事故处置惩罚机制类似,只不过事故的处置惩罚机制是法度榜样组件级其余,而广播处置惩罚机制是系统级其余。

Broadcast Receiver用于接管并处置惩罚广播看护(broadcast announcements)。多半的广播是系统提议的,如地域变换、电量不够、来电来信等。法度榜样也可以播放一个广播。法度榜样可以有随意率性数量的 broadcast receivers来相应它感觉紧张的看护。broadcast receiver可以经由过程多种要领看护用户:启动activity、应用NotificationManager、开启背景灯、振动设备、播放声音等,最范例的是在状态栏显示一个图标,这样用户就可以点它打开看看护内容。

平日我们的某个利用或系统本身在某些事故(电池电量不够、来电来短信)光降时会广播一个Intent出去,我们可以使用注册一个Broadcast Receiver来监听到这些Intent并获取Intent中的数据。

二.事故的广播比价简单,构建Intent工具,调用sendBroadcast()措施将广播发出。事故的接管是经由过程定义一个承袭BroadcastReceiver类来实现,承袭该类后覆新蒲京澳门app下载盖其onReceiver措施,并在该措施中响应事故。

MainActivity:

Intent intent=new Intent();

intent.setAction(MY_ACTION);

intent.putExtra("msg","请回覆");

sendBroadcast(intent);

MyReceiver:

public calss MyReceiver extends BroadcastReceiver{

public void onReceiver(Context ctx,intent intent){

//从Intent中得到信息

String msg=intent.getString("msg");

Toast.makeText(ctx,msg,Toast.LENGTH_LONG).show()

}

}

三.系统广播事故的应用

1. 这些广播是系统自动发出,我们直接定义事故接管器进行接管。

经由过程设置设置设备摆设摆设文件注册

MyReceiver2:

public class MyReceiver2 extends BroadcastReceiver{

public void onReceiver( Context context,Intent intent){

Log.i("my_tag","BOOT_COMPLETED")

}

}

AndroidMainifest.xml:

经由过程代码注册:

IntentFilter filter=new IntentFilter();//实例化

//实例化Receiver

MyReceiver2=new MyReceiver2();

//注册Receiver

registerReceiver(r,filter);

//注销Receiver

unregisterReceiver(r);

四.Notification和NotificationManager的应用

Broadcast Receiver组件并没有供给可视化的界面来显示广播信息。这里我们可以应用Notification和Notification Manager来实现可视化的信息的界面,经由过程应用它们 ,我们可以显示广播信息的内容,图标及震荡信息。

五.AlarmManager的应用

现在的手机普遍都邑有一个闹钟功能,假如应用Android来实现一个闹钟,可以应用AlarmManager来实现。AndroidManager供给了一种系统级的提示办事,容许你安排在将来的某个光阴履行一个义务,AlarmManager工具一样平常不直接实例化,而是经由过程Context.getSystemService(Context.ALARM_SERVICE)措施得到。

实例一、自定义broadcast receive来处置惩罚广播事故

/Chapter08_Broadcast_Receiver1/src/com/amaker/ch08/app/MainActivity.java

package com.amaker.ch08.app;

import com.amaker.ch08.app.R;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

/**

*

* 发出广播

*/

public class MainActivity extends Activity {

// 定义一个Action常量

private static final String MY_ACTION = "com.amaker.ch08.action.MY_ACTION";

// 定义一个Button工具

private Button btn;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// 设置当前结构视图

setContentView(R.layout.main);

btn = (Button)findViewById(R.id.Button01);

// 为按钮设置单击监听器

btn.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// 实例化Intent工具

Intent intent = new Intent();

// 设置Intent action属性

intent.setAction(MY_ACTION);

// 为Intent添加附加信息

intent.putExtra("msg", "地瓜地瓜,我是土豆,收到请回覆,收到请回覆!");

// 发出广播

sendBroadcast(intent);

}

});

}

}

二、notification和notificationmanager的应用

1、获取系统级的办事notificationmanager

String service = NOTIFICATION_SERVICE;

NotificationManager nm = (NotificationManager)getSystemService(service);

2、实例化Notification

Notification n = new Notification();

// 设置显示图标,该图标会在状态栏显示

int icon = n.icon = R.drawable.icon;

// 设置显示提示信息,该信息也会在状态栏显示

String tickerText = "Test Notification";

// 显示光阴

long when = System.currentTimeMillis();

n.icon = icon;

n.tickerText = tickerText;

n.when = when;

// 也可以经由过程这种构造措施来设置

Notification n1 = new Notification(icon, tickerText, when);

3、实例化Intent

Intent intent = new Intent(this, MainActivity_Temp.class);

// 得到Pen新蒲京澳门app下载dingIntent

PendingIntent pi = PendingIntent.getActivity(this, 0, intent, 0);

// 设置事故信息

n.setLatestEventInfo(this, "My Title", "My Content", pi);

n.defaults |= Notification.DEFAULT_SOUND;

n.sound = Uri.parse("file:///sdcard/sound.mp3");

n.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "6");

n.defaults |= Notification.DEFAULT_VIBRATE;

long[] vibrate = {0,50,100,150};

n.vibrate = vibrate;

n.defaults |= Notification.DEFAULT_LIGHTS;

n.ledARGB = 0xff00ff00;

n.ledOnMS = 300;

n.ledOffMS = 1000;

n.flags |= Notification.FLAG_SHOW_LIGHTS;

4、发看护

// 标示该看护的ID

int ID = 1;

// 发出看护

nm.新蒲京澳门app下载notify(ID, n);

使用notification和notificationmanager来实现可视化的消息显示。

/Chapter08_Notification1/src/com/amaker/ch08/app/MainActivity.java

package com.amaker.ch08.app;

import com.amaker.ch08.app.R;

import android.app.Activity;

import android.app.Notification;

import android.app.NotificationManager;

import android.app.PendingIntent;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

/**

* 测试看护

*/

public class MainActivity extends Activity {

// 声明按钮

private Button sendBtn,cancelBtn;

// 声明Notification

private Notification n ;

// 声明NotificationManager

private NotificationManager nm;

// Notification标示ID

private static final int ID = 1;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

// 实例化按钮

sendBtn = (Button)findViewById(R.id.sendBut新蒲京澳门app下载ton01);

cancelBtn = (Button)findViewById(R.id.cancelButton02);

// 得到NotificationManager实例

String service = NOTIFICATION_SERVICE;

nm = (NotificationManager)getSystemService(service);

// 实例化Notification

n = new Notification();

// 设置显示图标,该图标会在状态栏显示

int icon = n.icon = R.drawable.happy;

// 设置显示提示信息,该信息也会在状态栏显示

String tickerText = "Test Notification";

// 显示光阴

long when = System.currentTimeMillis();

n.icon = icon;

n.tickerText = tickerText;

n.when = when;

// 为按钮添加监听器

sendBtn.setOnClickListener(sendListener);

cancelB新蒲京澳门app下载tn.setOnClickListener(cancelListener);

}

// 发送看护监听器

private OnClickListener sendListener = new OnClickListener() {

@Override

public void onClick(View v) {

// 实例化Intent

Intent intent = new Intent(MainActivity.this, MainActivity.class);

// 得到PendingIntent

PendingIntent pi = PendingIntent.getActivity(MainActivity.this, 0, intent, 0);

// 设置事故信息

n.setLatestEventInfo(MainActivity.this, "My Title", "My Content", pi);

// 发出看护

nm.notify(ID, n);

}

};

// 取消看护监听器

private OnClickListener cancelListener = new OnClickListener() {

@Override

public void onClick(View v) {

// 取消看护

nm.cancel(ID);

}

};

}

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: