Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从拨号板激活应用程序?_Android_Android Activity - Fatal编程技术网

Android 如何从拨号板激活应用程序?

Android 如何从拨号板激活应用程序?,android,android-activity,Android,Android Activity,我有一个应用程序,它应该在用户拨打一个号码时立即激活其活动,例如数字“6”。我的问题是:如何在从键盘拨出号码后立即激活我的应用程序或应用程序中的活动?听起来你好像在寻找“密码”功能。它不允许你只听一个数字(我不相信这是可能的),但它允许应用程序使用诸如####123456#之类的代码启动 您可以注册BroadcastReceiver以侦听清单中的密码,如下所示: <receiver android:name=".MyBroadcastReceiver"> <intent

我有一个应用程序,它应该在用户拨打一个号码时立即激活其活动,例如数字“6”。我的问题是:如何在从键盘拨出号码后立即激活我的应用程序或应用程序中的活动?

听起来你好像在寻找“密码”功能。它不允许你只听一个数字(我不相信这是可能的),但它允许应用程序使用诸如####123456#之类的代码启动

您可以注册BroadcastReceiver以侦听清单中的密码,如下所示:

<receiver android:name=".MyBroadcastReceiver">
    <intent-filter>
        <action android:name="android.provider.Telephony.SECRET_CODE"/>
        <data android:scheme="android_secret_code" android:host="123456"/>
    </intent-filter>
</receiver>

为了完成这项任务,你做了哪些研究?
public class MyBroadcastReceiver extends BroadcastReceiver {
    public void onReceive(Context context, Intent intent) {
        if ("android.provider.Telephony.SECRET_CODE".equals(intent.getAction())) {
            Intent i = new Intent(Intent.ACTION_MAIN);
            i.setClass(context, MyBroadcastReceiver.class);
            i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(i);
        }
     }
}