Dialpad のコードを使って Android アプリを起動する方法を知りたいです。# #3214789650# #ギャラクシーからのよう
に、angryGps アプリケーションを起動します。
それを実装する方法は?
ありがとう。
Dialpad のコードを使って Android アプリを起動する方法を知りたいです。# #3214789650# #ギャラクシーからのよう
に、angryGps アプリケーションを起動します。
それを実装する方法は?
ありがとう。
これを試してください。ブロードキャストレシーバーを使用して発信コール番号をリッスンします。
Manifest.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"のブロードキャスト レシーバーを登録することです。ブロードキャスト レシーバーでアプリケーションを起動できます。
また、いくつかのアプリケーションが既に実装されていることもわかります。エミュレータで動作するコードの 1 つは * #* #4636 #* #* です。