乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      android Broadcast

       風(fēng)雪夜歸人_95 2014-02-14

      1)Broadcast Receive是系統(tǒng)級(jí)別的事件處理機(jī)制。

      2)自定義一個(gè)廣播步驟:
         在程序組件中構(gòu)建要廣播的Intent,使用sendBroadcast方法發(fā)送出去;
         定義一個(gè)廣播接收器(該接收器繼承BroadcastReceiver),覆蓋onReceive方法響應(yīng)事件。最后注冊(cè)

      該廣播接收器(可在代碼中注冊(cè),也可在AndroidManifest.xml配置文件中注冊(cè))。
       
       

      3)在AndroidManifest.xml配置文件中注冊(cè)廣播接收器:

      <receiver android:name="MyReceiver">
      <intent-filter>
      <action android:name="com.amaker.ch08.action.MY_ACTION"/>
      </intent-filter>
      </receiver>

      在代碼中注冊(cè),一般在Activity.onResume()方法中使用Context.registerReceiver()方法注冊(cè)一個(gè)廣播

      接收器,在Activity.onPause()中使用Contenxt.unregisterReceiver()方法來(lái)注銷(xiāo)一個(gè)廣播接收器。

      注冊(cè):
      IntentFilter filter = new IntentFilter();
      MyReceiver r = new Myreceiver();
      registerReceiver(r,filter);
      注銷(xiāo):
      unregisterReceiver(r);

      4)BroadcastReceiver組件并沒(méi)提供可視化的界面來(lái)顯示廣播信息,需要使用Notification和

      NotificationManager來(lái)實(shí)現(xiàn)可視化的信息顯示。通過(guò)它們可以顯示廣播信息的內(nèi)容、圖標(biāo)以及振動(dòng)等信

      息。其使用步驟一般先獲得系統(tǒng)級(jí)的服務(wù)NotificationManager,然后實(shí)例化Notification,設(shè)置其屬性

      ,通過(guò)NotificationManager發(fā)出通知即可。

      String service = NOTIFICATION_SERVICE;
      NotificationManager nm = (NotificationManager)getSystemService(service);

      Notification n = new Notification();
      int icon = n.icon = R.drawable.icon;//設(shè)置顯示圖標(biāo),該圖標(biāo)會(huì)在狀態(tài)欄顯示
      String tickerText = "Test Notification";//設(shè)置顯示提示信息,該圖標(biāo)也在狀態(tài)欄顯示
      long when = System.currnetTImeMillis(); //顯示時(shí)間
      n.icon=icon;
      n.tickerText = tickerText;
      n.when = when;
      //為Notification設(shè)置提示音
      n.defaults |=Notification.DEFAULT_SOUND;
      n.sound = Uri.parse("file:///sdcard/sound.mp3");
      n.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "6");
      //為Notification設(shè)置振動(dòng)
      n.defaults |= Notification.DEFAULT_VIBRATE;
      long[] vibrate = {0,50,100,150}; //0ms后震動(dòng),震動(dòng)50ms后停止,再過(guò)100ms震動(dòng),震動(dòng)150ms
      n.vibrate = vibrate;

      Intent intent = new Intent(this, MainActivity.class);
      PendingIntent pi = PendingIntent.getActivity(this, 0, intent, 0);//獲得PendingIntent
      n.setLatestEventInfo(this, "My Title", "My Content, pi); //設(shè)置事件信息
      int ID = 1; //標(biāo)志該通知的ID
      nm.notify(ID,n); //發(fā)出通知


      5)AlarmManager提供一種系統(tǒng)級(jí)的提示服務(wù),允許你安排在將來(lái)的某個(gè)時(shí)間執(zhí)行一個(gè)服務(wù)。

      AlarmManager對(duì)象一般不直接實(shí)例化,而是通過(guò)Context.getSystemService(Context.ALARM_SERVICE)方

      法獲得。

      AlarmManager的使用步驟:
          獲得AlarmManager實(shí)例;
          定義一個(gè)PendingIntent發(fā)出廣播;
          調(diào)用AlarmManager的方法,設(shè)置定時(shí)或重復(fù)提醒。
      final AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
        
        Intent intent = new Intent();
        intent.setAction(MY_ACTION);
        intent.putExtra("msg", "你該起床了!");
        
        final PendingIntent pi = PendingIntent.getBroadcast(MainActivity.this, 0, intent, 0);
        final long time = System.currentTimeMillis();
      然后可以調(diào)用AlarmManager的方法進(jìn)行相應(yīng)操作。
       AlarmManager常用屬性和方法:
       
      實(shí)際遇到的問(wèn)題:
      在定義廣播接收類(lèi)的時(shí)候,如果先在所在activity的類(lèi)中聲明這個(gè)類(lèi),再在后面定義,則程序報(bào)錯(cuò),形如:
      public class SplashActivity extends Activity {
       private BroadcastReceiver connectionReceiver;
      .......
      connectionReceiver = new BroadcastReceiver(){
        @Override
        public void onReceive(Context context, Intent intent) {
         
        }
        
       };
       
      至于為什么報(bào)錯(cuò)還不清楚。但是網(wǎng)上一般的寫(xiě)法都是
      private BroadcastReceiver connectionReceiver = new BroadcastReceiver(){
        @Override
        public void onReceive(Context context, Intent intent) {
         
        }
        
       };
       

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類(lèi)似文章 更多