zoukankan      html  css  js  c++  java
  • BroadcastReceiver组件

    小结:

      receiver是不存在于任务栈中的,在receiver里面启动一个Activity必须要指定flag:Intent.FLAG_ACTIVITY_NEW_TASK

      写了一个外拨电话拦截的广播,当拨打一个号码的时候去启动一个Activity。

      示例Demo

      

     1 public class PhoneReceiver extends BroadcastReceiver {
     2 
     3     @Override
     4     public void onReceive(Context context, Intent intent) {
     5         // TODO Auto-generated method stub
     6         Log.i("i", "已经拦截到了外拨通话");
     7         // 1.清除数据
     8         // 2.激活一个activity
     9         String number = getResultData();
    10         if("911".equals(number)){
    11             setResultData(null);
    12             // receiver是不存在任务栈里面的 ,在里面启动activity必须要指定FLAG:Intent.FLAG_ACTIVITY_NEW_TASK
    13             Intent i = new Intent(context,LostProtectedActivity.class);
    14             i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    15             context.startActivity(i);
    16         }
    17     }
    18 
    19 }

      如果不设置FLAG 会提示错误:

      

  • 相关阅读:
    ## js 性能 (未完。。。)
    React 创建元素的几种方式
    Json 与 javascript 对象的区别
    js 基本数据类型
    第十三章 事件
    第十二章 DOM2和DOM3
    第十一章 DOM扩展
    第十章 DOM
    第八章 BOM
    第七章 函数表达式
  • 原文地址:https://www.cnblogs.com/androidez/p/2913543.html
Copyright © 2011-2022 走看看