android多功能按钮二——基础编
很开心写了第二个多功能按钮使用Notification编写,实现方法与上一次的功能差不多(每一个按钮都会有相应的提示。至于方法,我都写在了Activity里面。欢迎大家下载参考)。是基础编。先让我们看一下图先。

Main.java代码
package com.smart.activity;
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 Main extends Activity implements OnClickListener{
private NotificationManager nm;
//使用默认的方法
private void setDefaults(String tickerText,String contentTitile,String contentText,int id,int resId,int defaults){
Notification notification=new Notification(resId,tickerText,System.currentTimeMillis());
PendingIntent conIntent=PendingIntent.getActivity(this, 0, new Intent(this,Main.class), 0);
notification.setLatestEventInfo(this, contentTitile, contentText, conIntent);
notification.defaults=defaults;
nm.notify(id, notification);
}
//心情方法
private void showNotification(String tickerText,String contentTitle,String contentText,int id,int resId){
Notification notification=new Notification(resId,tickerText,System.currentTimeMillis());
PendingIntent contentTntent=PendingIntent.getActivity(this, 0, getIntent(), 0);
notification.setLatestEventInfo(this, contentTitle, contentText, contentTntent);
nm.notify(id, notification);
}
@Override
public void onClick(View v) {
switch(v.getId()){//根据点击不同的按钮,弹出相应的提示
case R.id.btnSmile:
showNotification("情人节到了,我想你!", "情人节到了,我想你!",
"情人节到了,与你一起度过,yeah!", R.drawable.smile,
R.drawable.smile);
break;
case R.id.btnWhy:
showNotification("情人节,你没送礼物给我", "所以心情不好。", "以后要记得",
R.drawable.why, R.drawable.wrath);
break;
case R.id.btnClear:
nm.cancelAll();
break;
case R.id.btnRing:
setDefaults("使用默认的声音", "使用默认的声音", "使用默认的声音", R.id.btnRing, R.drawable.smile,
Notification.DEFAULT_SOUND);
break;
case R.id.btnVibrate:
setDefaults("使用默认的震动", "使用默认的震动", "使用默认的震动", R.id.btnVibrate, R.drawable.smile,
Notification.DEFAULT_SOUND);
break;
case R.id.btnLight:
setDefaults("使用默认的Light", "使用默认的Light", "使用默认的Light", R.id.btnLight, R.drawable.smile,
Notification.DEFAULT_SOUND);
break;
case R.id.btnRingAndVibrate:
setDefaults("所有的都使用默认值", "所有的都使用默认值", "所有的都使用默认值", R.id.btnRingAndVibrate, R.drawable.smile,
Notification.DEFAULT_SOUND);
break;
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
nm=(NotificationManager)getSystemService(NOTIFICATION_SERVICE);
Button btnSmile=(Button)findViewById(R.id.btnSmile);
Button btnWhy=(Button)findViewById(R.id.btnWhy);
Button btnWrath=(Button)findViewById(R.id.btnWrath);
Button btnClear=(Button)findViewById(R.id.btnClear);
Button btnRing=(Button)findViewById(R.id.btnRing);
Button btnVibrate=(Button)findViewById(R.id.btnVibrate);
Button btnLight=(Button)findViewById(R.id.btnLight);
Button btnRingAndVibrate=(Button)findViewById(R.id.btnRingAndVibrate);
btnSmile.setOnClickListener(this);
btnWrath.setOnClickListener(this);
btnClear.setOnClickListener(this);
btnRing.setOnClickListener(this);
btnVibrate.setOnClickListener(this);
btnLight.setOnClickListener(this);
btnRingAndVibrate.setOnClickListener(this);
}
}
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"
>
<Button
android:id="@+id/btnSmile"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我想你"
android:drawableLeft="@drawable/smile"
/>
<Button
android:id="@+id/btnWhy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="为什么想你"
android:drawableLeft="@drawable/why"
/>
<Button
android:id="@+id/btnWrath"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="心情不好"
android:drawableLeft="@drawable/wrath"
/>
<Button
android:id="@+id/btnRing"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="默认的声音"
/>
<Button
android:id="@+id/btnVibrate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="默认的震动"
/>
<Button
android:id="@+id/btnLight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="使用默认的Light"
/>
<Button
android:id="@+id/btnRingAndVibrate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="使用默认值"
/>
<Button
android:id="@+id/btnClear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="消除通知"
/>
</LinearLayout>
浙公网安备 33010602011771号