簡體   English   中英

Android,是否可以從撥號器運行應用程序?

[英]Android, Is it possible to run the app from dialer?

我需要(如果可能的話)在用戶輸入撥號器中的# 1234 #等代碼時為我的項目添加一項功能。 我不確定這是可能的。 目前,當我從應用程序文件夾中為我的應用程序共進午餐時,它啟動但只是為了好玩我想知道我可以用代碼在午餐嗎?

您可以通過撥號程序啟動應用程序活動類,但是您的應用程序應該在后台運行。 為此你應該實現一個擴展到BroadcastReceiver的類。 請遵循此參考代碼。

public class Example extends BroadcastReceiver 
{

    @Override
    public void onReceive(Context context, final Intent intent) {

      if (intent.getAction().equals(android.intent.action.NEW_OUTGOING_CALL)) {
       String phoneNumber = intent.getExtras().getString( android.intent.extra.PHONE_NUMBER );

         if(phoneNumber.equals("#1234#")) { 
            Intent intent1 = new Intent(context , YourActivity.class);
            intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
            context.startActivity(intent1);
       }

      }

    }

} 

Priyank接受的答案是正確的。 我只是想在Intent類的代碼中指出一些更正

@Override
public void onReceive(Context context, final Intent intent) {
    if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)){
        String phoneNumber = intent.getExtras().getString(Intent.EXTRA_PHONE_NUMBER);

        if(phoneNumber.equals("#1234#")){
            Intent intent1 = new Intent(context, YourActivity.class);
            intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(intent1);
        }

    }
}
@Override
public void onReceive(Context context, final Intent intent) {

    if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
        String phoneNumber = intent.getExtras().getString(Intent.EXTRA_PHONE_NUMBER);

        if (phoneNumber.equals("#1234#")) {
            Intent intent1 = new Intent(context, YourActivity.class);
            intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(intent1);
            setResultData(null);
        }

    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM