Android 拨号盘暗码启动应用程序

近日,写了一个有关设备信息的小应用,要求在launcher中不可显,通过拨号键盘暗码启动该应用。现将心得记录如下:

软件平台:Android4.4.3

首先,要在AndroidManifest.xml中注册接收android暗码广播。

        <span style="font-size:18px;"><receiver android:name="InfoSecretCode" >
            <intent-filter>
                <action android:name="android.provider.Telephony.SECRET_CODE" />
                <data
                    android:host="668866"
                    android:scheme="android_secret_code" />
            </intent-filter>
        </receiver></span>

其次,需要实例化对接收广播事件的处理,取名为InfoSecretCode.java,代码如下:

<span style="font-size:18px;">import android.content.Context;
import android.content.Intent;
import android.content.BroadcastReceiver;
import android.util.Config;
import android.util.Log;
import android.view.KeyEvent;

public class InfoSecretCode extends BroadcastReceiver {
    private final String SECRET_CODE_ACTION = "android.provider.Telephony.SECRET_CODE";
    public InfoSecretCode() {
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(SECRET_CODE_ACTION)) {
            Intent i = new Intent(Intent.ACTION_MAIN);
            i.setClass(context, InfoActivity.class);
            i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(i);
        }
    }
}</span>

如此,在拨号键盘输入“*#*#668866#*#*”即可弹出InfoActivity了,具体activity自己添加。

时间: 2024-12-16 12:09:44

Android 拨号盘暗码启动应用程序的相关文章

Android在拨号和计算器中加入暗码启动指定应用

比如在拨号面板中输入*#*#55555#*#*启动没有图标的应用,其包名和类名是com.zms.test/.Main 在计算器中输入55555然后按=,也启动这个应用.可以通过以下方式实现: 首先是拨号: 修改文件packages/apps/Dialer/src/com/android/dialer/SpecialCharSequenceMgr.java @@ -66,6 +66,7 @@ public class SpecialCharSequenceMgr { private static

暗码启动应用

1.输入*#*#1001#*#*就可以启动某个应用 2.AndroidManifest.xml配置 <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity"

Android Calculator2源码分析与修改

将Android 4.4.4的计算器Calculator移植出来,可以独立的在Android Studio中使用.完整的代码已经推到我的GitHub,链接在文末. 下面看一下效果图: 这是在三星手机上的效果,和我之前在Nexus上用的计算器UI一样,原生的.当然有了源码,我们就可以定制自己想要的效果了. 代码可以去我的GitHub查看. 在Dialer和Calculator中加入暗码启动指定应用 比如在拨号面板中输入##55555##启动没有图标的应用,其包名和类名是com.zms.test/.

MTK Android 计算器Calculator输入暗码!77!+,启动工厂测试apk

Android8.0 计算器Calculator输入暗码!77!+,启动工厂测试apk 路径: packages/apps/ExactCalculator/src/com/android/calculator2/Calculator.java /* * Copyright (C) 2016 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License");

腾讯精选面试重点问题:Android源码分析--应用程序启动

面试官:什么是应用程序启动 应用程序的启动,又可称为根Activity的启动.但是在讲应用程序启动之前,我们有必要对应用程序进程(AppProcess)启动有所了解,那是因为启动一个应用程序首先要保证该应用程序的进程已经被启动.AMS在启动应用程序时,会先检查应用程序进程是否存在,如果不存在就需要请求Zygote进程创建并启动应用程序进程.这里我不会贴上大段大段的代码,只是一些总结,并提供了相关源码的链接. 应用程序进程(AppProcess)启动 启动大纲 AMS发送启动应用程序进程请求. Z

android下使用adb启动程序或者服务

使用 adb install hello.apk可以安装一个apk但并不能启动它,启动它要使用adb shell am的方法 启动Activity: adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等). 比如 adb shell am start -n AndroidExport.com/AndroidExport.com.AndroidExportActivity

杂谈——Android从启动到程序运行发生的事情

转载请注明出处 博客地址:http://blog.csdn.net/JonsTank2013/article/details/51118563 作者:李中权 前言 好久没有写博客了,瞬间感觉好多学了的东西不进行一个自我的总结与消化总归变不成自己的.通过博客可能还可以找到一些当初在学习的时候没有想到的问题.想了半天,从大二上学期自学Android以来还没有对Android从启动到程序运行期间进行一个完整的归纳,刚好最近又学到了一些新东西,那就以这篇博客为媒介,总结一下从Android启动到程序运行

如何在Android中启动JAVA程序

本人博客原文:http://hubingforever.blog.163.com/blog/static/17104057920126166411775/ 在Android中启动JAVA程序其实有很多种方式,现总结如下 一.在Android应用程序中发送Intent启动Android应用程序 这个方式最简单,最常用.在此不在累述.关于Intent的更多内容请阅读<Intent技术简介> 二.在shell控制台通过am命令发送Intent来启动Android应用程序 在Android的shell

从源码角度看Android系统SystemServer进程启动过程

copy frome :https://blog.csdn.net/salmon_zhang/article/details/93208135 SystemServer进程是由Zygote进程fork生成,进程名为system_server,主要用于创建系统服务. 备注:本文将结合Android8.0的源码看SystemServer进程的启动过程以及SystemServer进程做了哪些重要工作. 1. SystemServer进程启动的起点从<从源码角度看Android系统Zygote进程启动过