[英]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.