Android Notification의 간단한 응용 프로그램

Notification은 휴대전화 상태란에 표시되는 알림으로 휴대전화 상태란은 휴대전화 화면의 맨 위에 위치하고 어디에 휴대전화의 현재 네트워크 상태, 배터리 상태, 시간 등을 일반적으로 표시하는지 알 수 있다.Notification 잠금은 일반적인 Notification Manager 서비스를 통해 Notification을 보내는 전역 효과가 있는 알림을 의미합니다.
MainActivity.java
4
public class MainActivity extends Activity {
	final int  NOTIFICATION_ID=1;
	NotificationManager nm;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		nm = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
		
	}
	public void send(View view){
		Intent intent = new Intent(MainActivity.this,NextActivity.class);
		//PendingIntent       Intent,         
		PendingIntent pi = PendingIntent.getActivity(MainActivity.this, 0, intent, 0);
		Builder builder = new Notification.Builder(MainActivity.this);
		//       ,       
		Notification notification = builder.setAutoCancel(true)
		//               
		.setTicker("    ")
		//       
		.setSmallIcon(R.drawable.ic_launcher)
		//         
		.setContentTitle("        ")
		//       
		.setContentText("     。。。。。。。。。。。。")
		//           ,  LED 
		.setDefaults(Notification.DEFAULT_SOUND|Notification.DEFAULT_LIGHTS)
		//        Intent
		.setContentIntent(pi)
		.build();
		
		//    ,    
		nm.notify(NOTIFICATION_ID, notification);
	}
	public void cancel(View view){
		//     ID    
		nm.cancel(NOTIFICATION_ID);
	}
}
기본 설정을 사용하지 않으려면 아래 코드를 사용하십시오
		//       
		setSound((Uri.parse("file:///sdcard/click.mp3")));
		//       
		setVibrate(new long[]{0,50,100,150});

효과도:
궁금한 거 있으신가요?AlertDialog.Builder는 왜 내부 클래스에 쓰입니까?이것은 건설자 모델이다(하나의 복잡한 구축을 표현과 분리시켜 같은 구축 과정에 서로 다른 표현을 만들 수 있게 한다. 백화문: 하나의 대상과 이 대상을 어떻게 구축하는지를 분리하는 것이다. 만약에 당신이 대상을 구축하고자 한다면 이 소식을 구축자에게 알려주고 이 대상에 대한 여러 가지 요구를 건설자에게 알려주고 건설자가이런 요구들을 부추긴 후에 당신이 필요로 하는 대상이 나온다.)더욱 간단하게 말하면 대상의 표시는 비교적 깨끗하고 번거로운 창설 과정을 다른 사람에게 해준다.
알림 표시줄 사용자 정의
public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}

	public void btn(View view) {
		//         ,         
		NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
		// Android3.0    NotificationCompat     Notification
		NotificationCompat.Builder builder = new NotificationCompat.Builder(
				this);
		RemoteViews rv = new RemoteViews(getPackageName(), R.layout.layout_buju);
		rv.setTextViewText(R.id.tv1, "  ");
		rv.setTextViewText(R.id.tv2, "  -----------");
		rv.setImageViewResource(R.id.img, R.drawable.ic_launcher);
		//      
		builder.setContent(rv);
		//         :   、    、  
		builder.setSmallIcon(R.drawable.ic_launcher).setTicker("       ").setContentTitle("  1");
		//         
		Intent intent = new Intent(this,NextActivity.class);
		PendingIntent pendingIntent = PendingIntent.getActivity(this, 1, intent, PendingIntent.FLAG_CANCEL_CURRENT);
		builder.setContentIntent(pendingIntent);
		//          
		builder.setAutoCancel(true);
		//     
		manager.notify(2, builder.build());
	};
}

위 코드에서 알 수 있듯이 간단한 infalter로 보기를 채우지 않았다. 알림은 전역적이기 때문에 알림을 촉발할 때 앱이 닫혀서 XML 레이아웃 파일을 얻을 수 없기 때문에 여기는RemoteViews류를 빌렸다.builder.setSmallIcon(R.drawable.ic_launcher).setTicker.setContentTitle(제목 1),이 세 가지 방법은 적어도 하나를 사용해야만 표시할 수 있다.Notification Compat와 Notification의 차이점은 전자는 3.0 이후에 사용하고 후자는 3.0 이전에 사용한다.Notification 3 : smallIcon:setSmallIcon() Title:setContentTitle()
Detail text:setContentText()
효과도:

좋은 웹페이지 즐겨찾기