在 Android 中使用拨号盘启动应用程序

2024-03-26

我想通过拨号盘启动我的应用程序。我使用以下代码。用于拨号盘启动应用程序(在广播接收器中)

public class HiddenReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
try{

               // Toast.makeText(context,"Number Dialed",1).show();

                Intent serviceIntent = new Intent(context,MainActivity.class);
                    serviceIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    context.startActivity(serviceIntent);



                }
                catch(Exception e)
                {
                    Log.d(TAG, ""+e.getMessage());
                }

通过拨号盘按下按键时,我想启动我的主要活动,其中我使用了以下内容

public class MainActivity extends Activity
{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_hidden_receiver); 

         //Intent call here
        Intent intent=getIntent();
        String message = intent.getStringExtra(MainActivity.TELEPHONY_SERVICE);
         //text here

但是,当我按下代码时,拨打的号码会消失,但拨号盘不会消失,MainActivity 也不会启动。 这个问题如何解决?帮帮我...... 谢谢。


Use the BroadcastReceiver如下:

public class MyOutgoingCallHandler extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
     // Extract phone number reformatted by previous receivers
    String phoneNumber = getResultData();
    if (phoneNumber == null) {
      // No reformatted number, use the original
      phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
    }

         if(phoneNumber.equals("1234")){ // DialedNumber checking.
        // My app will bring up, so cancel the broadcast
        setResultData(null);

        // Start my app
        Intent i=new Intent(context,MainActivity.class);
        i.putExtra("extra_phone", phoneNumber);
        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(i);
         }

}

}

不要忘记在清单中注册此接收器

    <receiver android:name="MyOutgoingCallHandler">
        <intent-filter >
            <action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
        </intent-filter>
    </receiver>

另外,请包括权限:

<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>

现在,如果您忽略接收器中的号码检查,您将在 MainActivity 中收到拨打的号码,

String phone=getIntent().getStringExtra("extra_phone");
    if(!phone.equals(null)){
        Toast.makeText(getBaseContext(), phone, Toast.LENGTH_LONG).show();
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Android 中使用拨号盘启动应用程序 的相关文章

随机推荐

  • Flutter/Dart 数量处理能力

    我是 Flutter 的新手 我想做一个输入量大的计算器 考虑每个数字 30 40 位 有人可以帮助我如何做到这一点吗 就像在 android 中我使用 BigDecimal 一样 Flutter 中的替代方案是什么 您可以使用decima
  • 根据传入的字符串设置枚举值

    我有许多需要枚举的设置方法 这些基于传入对象属性 有一种方法可以避免硬编码 10 种不同的 case 语句 而不是编写一堆这样的语句 有没有办法创建可重用的方法 Side class declared as public final enu
  • iOS / FCM - 如何使用有效负载中的图像名称将 XCAsset 文件夹中的图像显示为通知附件?

    我正在为通过 FCM 发送的天气应用程序开发丰富通知 首先 我想通知您 我的通知已通过 APNS 和 FCM 成功发送和接收 我在用Pusher https github com noodlewerk NWPusher and Postma
  • 用 jQuery 动态替换 img src 属性

    我正在尝试使用 jQuery 替换给定源的 img 源 例如 当图像源为 smith gif 时 替换为 johnson gif 如果 williams gif 替换为 Brown gif 等 编辑 图像是从 XML 中按随机顺序检索的 每
  • Kotlin 喜欢 Javascript 中的作用域函数(let、also、apply、run)吗?

    是否可以在 Javascript Typescript 中创建类似 Kotlin 的作用域函数 有没有图书馆可以做到这一点 参考 https kotlinlang org docs reference scope functions htm
  • 在 iframe 中访问 TinyMCE 当前输入

    我正在使用 TinyMCE 并且尝试将用户当前输入的内容输出到 TinyMCE 编辑器下方的 div 中 我希望用户看到帖子的渲染效果如何 我正在使用的脚本是这样的 我已将相应的 div 放置在视图中的开始表单中 div div 然而 当我
  • sIFR 还是 FLIR?

    我最近遇到了面部提升术 这是 sIFR 的替代方案 我想知道那些同时拥有 sIFR 和 FLIR 经验的人是否可以介绍一下他们使用 FLIR 的经验 对于那些还没有了解 FLIR 工作原理的人来说 FLIR 的工作原理是使用 JavaScr
  • 不同的交易必须保证选择不同的项目;避免争论

    作为注册新用户的一部分 我们从预编译列表 表 中为它们分配资源 在本例中为 Solr 核心 如果 5 个用户注册 则必须为他们分配 5 个不同的核心 如果用户成功注册 分配即为最终分配 请参阅下面的描述 但在现实世界中 同时注册新用户竞争同
  • 如何在表单提交时打开新窗口

    我有一个提交表单 并希望它在用户提交表单时打开一个新窗口 以便我可以在分析中跟踪它 这是我正在使用的代码
  • QWidgets可以添加到QWindow中吗?

    现在推荐使用QWindow进行OpenGL绘图 是否可以向此窗口添加小部件 如果是这样 怎么办 如果没有 我应该如何使用 Qt5 将小部件添加到 OpenGL 程序中 应用程序通常会使用QWidget or QQuickView对于它的 U
  • Laravel Auth::user() 关系

    我试图通过 Auth user 函数获取我的用户角色关系 我以前曾这样做过 但由于某种原因它不起作用 Auth user gt role 这将返回尝试从非对象获取属性的错误 在我的用户模型中我有这个 public function role
  • Flask-SQLAlchemy 和 Flask-Restless 不获取孙子

    Problem 我正在 Flask Flask SQLAlchemy 和 Flask Restless 上构建一个应用程序 我使用 Restless 生成了一个用于父子孙关系的 API 我的孩子上的 GET 将正确获取孙子 但父母上的 GE
  • 如何减少部署时的 Docker 映像大小?

    所以我刚刚创建了一个非常基本的 Node 应用程序 我想练习将其放入docker容器中并部署到另一台服务器上 我正在使用这里的步骤 https nodejs org en docs guides nodejs docker webapp h
  • 跳过 FlatFileParseException 或 Spring Batch 中的特定异常

    您好 我需要读取 n 个 平面文件 在文件读取期间 如果从读取器收到 FileParseException 则停止当前文件读取并安全退出并处理下一个文件并继续作业执行 目前我有这个 xml 配置 但我不想这样做 因为我没有真正的跳过限制计数
  • 春云|假装 Hytrix |首次调用超时

    我有一项服务使用了 3 个假客户端 每次启动应用程序时 我都会在第一次调用任何假客户端时收到 TimeoutException 在一切稳定之前 我必须至少触发每个假客户端一次 在网上查了一下 问题是 feign 或 hystrix 内部的某
  • 通过隧道颠覆

    对于工作 我在一个封闭的网络中工作 我们设置了一些只能从我们的网络内部访问的 IP 地址 不过 有一个盒子 我们可以通过 SSH 进入并通过隧道到达我们各自的开发者盒子 我知道我可以通过使用以下方式从我们的开发者盒子获得流量 Lssh 的参
  • 找到 3x3 打孔的所有组合

    我参加了一个嘉年华 在每个地点 他们都会用特殊的打孔器标记您的节目 打孔器是一个 3x3 空间的网格 在每个空间中 要么有一根大头针刺破你的纸 要么没有 这让我想知道你可以用这个工具制作多少种不同的图案 我的第一个想法是 2 9 512 但
  • 在 pypy 中调用 python 文件

    我最近搬到了 PyPy 它的速度快得惊人 但是很多 python 库还没有实现 所以我有很多自制的 python 函数 我想在 PyPy 代码中调用它们 这是我的问题 有没有办法在 PyPy 中调用 python 文件或函数 并向其传递一些
  • 带有 Entity Framework 4 指南的多语言数据库

    我们正在创建一个大型电子商务数据库 需要支持多种语言的数据 例如 产品表将需要名称 描述 元标题 元关键字 元描述等的一项或多项翻译 从关系数据库设计的角度来看 有多种方法可以实现这一点 但 Entity Framework 4 添加了一些
  • 在 Android 中使用拨号盘启动应用程序

    我想通过拨号盘启动我的应用程序 我使用以下代码 用于拨号盘启动应用程序 在广播接收器中 public class HiddenReceiver extends BroadcastReceiver Override public void o