編輯:關於Android編程
廣播作為android的四大組件之一,適用的地方還是很多,多用來特定條件情況下的通知。例如,開機,鬧鈴,電池電量過低等等。但還可以自定義廣播,用來兩個應用程序的通知。
曾經寫的開機自啟動的博客(通過接受系統廣播):Android 開機自啟動示例程序


broadcastsend這個apk的代碼很簡單,有個按鈕點擊觸發。發送廣播就行了。
package com.example.broadcastsend;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.app.Activity;
import android.content.Intent;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.button1).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//發送廣播
String broadcastIntent = "com.customs.broadcast";//自己自定義
Intent intent = new Intent(broadcastIntent);
MainActivity.this.sendBroadcast(intent);
}
});
}
}
這個發送的程序當中,在AndroidManifest.xml裡面不用添加什麼。
broadcastreceiver這個apk裡面的代碼,肯定要重寫廣播接受的類,就是繼承BroadcastReceiver,重寫onReceive這個方法就行了。
package com.example.broadcastreceiver;
import android.app.AlertDialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.view.WindowManager;
public class CustomBroadReceiver extends BroadcastReceiver{
private static final String ACTION = "com.customs.broadcast";
@Override
public void onReceive(Context context, Intent intent) {
//廣播接受
if (intent.getAction().equals(ACTION)){
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("提示")
.setMessage("收到BroadcastSend應用程序的廣播")
.setPositiveButton("確定", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setNegativeButton("取消", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
AlertDialog dialog = (AlertDialog) builder.create();
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
dialog.show();
}
}
}
<receiver android:name="com.example.broadcastreceiver.CustomBroadReceiver">
<intent-filter>
<action android:name="com.customs.broadcast">
</action></intent-filter>
</receiver>
有沒有注意到,我在廣播接受裡面,寫了一個彈出對話框。這個有點特殊,一般是彈不出來對話框。是通過hander傳遞到具體界面顯示的或者其它消息通知。
但我這裡可以實現直接彈出對話框提示。因為我添加了兩樣東西。
a、對話框設置
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);b、AndroidManifest.xml裡面添加權限
了解android7:通知直接回復
這是<是時候來了解android7>系列的第三篇文章了, 前面兩篇分別介紹了多窗口模式和shortcut功能, 今天我們來點簡單的, 說一說通知直接回復功能.
Android學習篇:Activity介紹
Android學習篇:Activity介紹:Activity是Android系統提供的一個活動基類,它是一種可以包含用戶界面的組件,我們項目中所有的活動都必須繼承它才擁有
android之Dialog自定義引發的血案
我仍然從實際工作中出發!最近需要在照相機裡面添加聲控拍照功能(語音拍照),在設置當中需要實現如下圖的效果: 其設置的語音拍照菜單功能描述如下: (1)當點擊語音拍照菜單
Android MVP模式ListView中嵌入checkBox的使用方法
MVP模式 ListView中嵌入checkBox的使用本文寫的是一個小demo,如何在ListView中嵌入checkBox配合使用,本篇文章與前面的嵌入Button類