又是一个小Demo,这个就是简单的Notification的应用。
通过两个输入框和两个按钮来定制android 推送的标题和内容的显示和取消。
并且点击Notification可以进入相应的Activity界面
main_activity.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.awesome.notification.MainActivity">
<EditText
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="48dp"
android:hint="@string/Title"
android:inputType="text" />
<EditText
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="48dp"
android:hint="@string/Content"
android:inputType="text" />
<Button
android:id="@+id/send"
android:layout_width="match_parent"
android:layout_height="48dp"
android:gravity="center"
android:onClick="send"
android:text="@string/Send"
android:textSize="18sp" />
<Button
android:id="@+id/cancel"
android:layout_width="match_parent"
android:layout_height="48dp"
android:gravity="center"
android:onClick="cancel"
android:text="@string/Cancel"
android:textSize="18sp" />
</LinearLayout>
MainActivity.java
public class MainActivity extends AppCompatActivity {
static final int NOTIFICATION_ID=0x123;
private EditText title,content;
private String titleString,contentString;
public NotificationManager manager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
title = (EditText) findViewById(R.id.title);
content = (EditText) findViewById(R.id.content);
manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
}
public void send(View view){
titleString=title.getText().toString();
contentString=content.getText().toString();
Intent intent=new Intent(MainActivity.this,OtherActivity.class);
PendingIntent pendingIntent=PendingIntent.getActivity(MainActivity.this, 0, intent, 0);
NotificationCompat.Builder builder=new NotificationCompat.Builder(this);
Notification notification=builder
.setContentTitle(titleString)
.setContentText(contentString)
.setDefaults(Notification.DEFAULT_ALL)
.setWhen(System.currentTimeMillis())
.setContentIntent(pendingIntent)
.setSmallIcon(R.drawable.ic_launcher)
.build();
manager.notify(NOTIFICATION_ID,notification);
}
public void cancel(View view){
manager.cancel(NOTIFICATION_ID);
}
}
跳转后的Activity的布局文件和java文件就不贴了。一个布局内放个TextView就够了。