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 会提示错误:

      

  • 相关阅读:
    msp430入门学习43
    msp430入门学习42
    msp430入门学习41
    msp430入门学习40
    msp430入门学习37
    msp430入门学习36
    msp430入门学习35
    JAVA三大特性之三——多态
    JAVA三大特性之二——继承
    JAVA三大特性之一——封装
  • 原文地址:https://www.cnblogs.com/androidez/p/2913543.html
Copyright © 2011-2022 走看看