Android和三星S5与Telephony.SECRET_CODE

时间:2015-06-15 03:12:54

标签: android samsung-mobile

我的应用中的活动只能使用Telephony.SECRET_CODE进行触发。接收方侦听此意图并启动活动。问题似乎有点奇怪。似乎三星S5似乎甚至没有意识到它是一个我拨打的密码。

通常,只要您完成密码序列,拨号器就会清除代码并开始活动。这发生在模拟器,Moto G,Nexus 5和Xolo手机中。但是当我在三星S5上做这件事时没有任何反应。它甚至没有清除它。

以下是我的清单中的内容:

<receiver android:name="org.example.SecretReceiver" >
    <intent-filter>
        <action android:name="android.provider.Telephony.SECRET_CODE" />
            <data
                android:host="981276345"
                android:scheme="android_secret_code" />
     </intent-filter>
</receiver>

我通过拨打序列来调用它:

*#*#981276345#*#*

这适用于除三星S5之外的所有其他手机。

另外,我使用APK Level 17进行编译,因此它适用于我的测试手机。三星S5的详细信息如下:

Model Number: SM-G900F
Android Version: 4.4.2

我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

请试试这个:

<receiver android:name="org.example.SecretReceiver" >
    <intent-filter>
        <action android:name="android.provider.Telephony.SECRET_CODE" />
            <data
                android:host="1234"
                android:scheme="android_secret_code" />
     </intent-filter>
</receiver>

然后打开拨号器并尝试:*#1234# 它应该工作..

我想三星可能会限制他们的拨号器以获取自定义代码。

答案 1 :(得分:0)

尝试在清单中添加此Samsung权限:

<uses-permission android:name="com.sec.factory.permission.KEYSTRING"/>
<uses-permission android:name="com.sec.testingsettings.permission.KEYSTRING"/>
<uses-permission android:name="com.sec.android.app.servicemodeapp.permission.KEYSTRING"/>