2

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

4

1 回答 1

2

听起来您正在寻找“密码”功能。它不会让你只听一个数字(我不相信这是可能的),但它允许应用程序使用# #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>

您的 BroadcastReceiver 可能看起来像这样:

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);
        }
     }
}
于 2013-11-11T14:43:05.353 回答