編輯:關於Android編程
綁定了鬧鐘的執行動作,比如發送一個廣播、給出提示等等。PendingIntent是Intent的封裝類。需要注意的是,如果是通過啟動服務來實現鬧鐘提 示的話,PendingIntent對象的獲取就應該采用Pending.getService(Context c,int i,Intent intent,int j)方法;如果是通過廣播來實現鬧鐘提示的話,PendingIntent對象的獲取就應該采用 PendingIntent.getBroadcast(Context c,int i,Intent intent,int j)方法;如果是采用Activity的方式來實現鬧鐘提示的話,PendingIntent對象的獲取就應該采用 PendingIntent.getActivity(Context c,int i,Intent intent,int j)方法。如果這三種方法錯用了的話,雖然不會報錯,但是看不到鬧鐘提示效果。
寫一個簡單的Demo
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //創建Intent對象,action為ELITOR_CLOCK,附加信息為字符串“你該打醬油了” Intent intent = new Intent(ELITOR_CLOCK); intent.putExtra(msg, 你該打醬油了); //定義一個PendingIntent對象,PendingIntent.getBroadcast包含了sendBroadcast的動作。 //也就是發送了action 為ELITOR_CLOCK的intent PendingIntent pi = PendingIntent.getBroadcast(this, 0, intent, 0); //AlarmManager對象,注意這裡並不是new一個對象,Alarmmanager為系統級服務 AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE); //設置鬧鐘從當前時間開始,每隔5s執行一次PendingIntent對象pi,注意第一個參數與第二個參數的關系 // 5秒後通過PendingIntent pi對象發送廣播 am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 5 * 1000, pi); } }
廣播接收者:MyReceiver.java
public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub Log.d(MyTag, onclock......................); String msg = intent.getStringExtra(msg); Toast.makeText(context, msg, Toast.LENGTH_SHORT).show(); } }清單文件如下:AndroidMainfest.xml
運行結果:
1.相關屬性:下面是GridView中的一些屬性: android:columnWidth:設置列的寬度 android:gravity:組件對其方式 and
Android 使用jarsigner給apk簽名的方法詳細介紹工作中APP功能完成以後往往需要往應用商店提交一些內容,如商店中存在本公司別的人員提交的APP,往往需要進
我們在進行Android開發時往往需要訪問SD卡的內容,而且因為文件很多,希望能夠在SD卡中進行
今早群裡有個盆友問如何將 Qt 開發的 Android 應用的名字設置為中文,試驗了一下,有兩個辦法。博文大賽決賽了,請給我投票:Qt Quick 圖像處理實例之美圖秀秀
先占個位置,下次翻譯~ :p Properly stopping a