我的应用中的活动只能使用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
我错过了什么吗?
答案 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"/>