2012-12-17 72 views
0

我是一名android開發人員。 (初學者)通過撥打號碼啓動應用程序

我想知道如何通過輸入/調用特定的代碼(例如智能鎖應用程序)來啓動應用程序啓動,您可以通過調用此代碼#000啓動它。

回答

1

您可以通過它的完整軟件包名稱How to start activity in another application?啓動應用程序。您可以在您的應用啓動器內實現所需的邏輯。像將代碼#000綁定到特定的包,如「com.example.android」。

if(code.equals("#000") { 
    intent.setComponent(new ComponentName("com.example", "com.example.MyExampleActivity")); 
} 
else if{code.equals(#???"){ 
    //another app 
} 
+0

也許我不明白你很好,但我怎麼能將代碼綁定到特定的包。我的意思是我無法理解你!謝謝。 – Abdo

+0

我編輯了答案 – Taras

+0

看來我沒有很好地解釋我的問題。我的意思是,當有人試圖從Phone應用程序調用特定的代碼號碼時,我想啓動我的應用程序。希望現在很清楚,並且非常感謝你幫助我。 – Abdo

3

你必須使用廣播接收器...

public class OutgoingCallReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
      Bundle bundle = intent.getExtras(); 

      if(null == bundle) 
        return; 

      String phonenumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); 

      Log.i("OutgoingCallReceiver",phonenumber); 
      Log.i("OutgoingCallReceiver",bundle.toString()); 

      if(code.equals("#000") { 
intent.setComponent(new ComponentName("com.example", "com.example.MyExampleActivity")); 

和Android設備清單

<receiver android:name="com.varma.samples.detectcalls.receivers.OutgoingCallReceiver"> 
        <intent-filter> 
         <action android:name="android.intent.action.NEW_OUTGOING_CALL"/> 
        </intent-filter> 
      </receiver> 
相關問題