我想知道如何使用 Dialpad 中的一些代码启动我的 android 应用程序。就像如果你
## 3214789650# #
从你的银河系它会启动angerGps 应用程序。
如何实施?
谢谢。
我想知道如何使用 Dialpad 中的一些代码启动我的 android 应用程序。就像如果你
## 3214789650# #
从你的银河系它会启动angerGps 应用程序。
如何实施?
谢谢。
试试这个。使用广播接收器收听拨出电话号码:
清单.xml
uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
<receiver android:name=".OutgoingCallReceiver">
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
</intent-filter>
</receiver>
OutgoingCallReceiver.java
public class OutgoingCallReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Bundle bundle = intent.getExtras();
if (null == bundle)
return;
// outgoingNumber=intent.getStringExtra(Intent.ACTION_NEW_OUTGOING_CALL);
String phoneNubmer = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
//START APPLICATION HERE
}
}
您正在寻找的是联系人应用程序的一部分,尽管每个制造商的实施很可能都是相同的,但我不确定这一点。
启动新活动的意图由文件SpecialCharSequenceMgr中的函数handleSecretCode传递。代码片段是
static boolean handleSecretCode(Context context, String input) {
// Secret codes are in the form *#*#<code>#*#*
int len = input.length();
if (len > 8 && input.startsWith("*#*#") && input.endsWith("#*#*")) {
Intent intent = new Intent(Intents.SECRET_CODE_ACTION,
Uri.parse("android_secret_code://" + input.substring(4, len - 4)));
context.sendBroadcast(intent);
您需要做的是为意图操作Intents.SECRET_CODE_ACTION和 uri android_secret_code://"code"注册广播接收器,并在广播接收器中启动您的应用程序。
您还可以看到一些应用程序是如何实现的,在模拟器上工作的代码之一是 * #* #4636 #* #*。