[英]Android. Launch app from Dialer
到目前為止,這是我所擁有的,但是當我在撥號器中輸入此組合時沒有任何反應
public class DialReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, final Intent intent) {
if (intent.getAction().equals(android.content.Intent.ACTION_NEW_OUTGOING_CALL)) {
String phoneNumber = intent.getExtras().getString( android.content.Intent.EXTRA_PHONE_NUMBER );
if(phoneNumber.equals("*#588637#")) {
Intent intent1 = new Intent(context , Activity.class);
intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
context.startActivity(intent1);
}
}
}
}
並在androidmanifest中
<receiver
android:name=".receiver.DialReceiver"
android:exported="true"
android:process=":background"
tools:ignore="ExportedReceiver" >
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
嘗試這些小變化..
String phoneNumber = intent.getExtras.getString("Intent.EXTRA_PHONE_NUMBER");
if(phoneNumber.equals("*#588637#")) {
//do your stuff
}
並且不要忘記在您的 Manifest.xml 文件中添加這一行
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
您也可能會發現這些有用..
接收器是否收到廣播? 如果沒有,也許您忘記包含PROCESS_OUTGOING_CALLS權限。
嘗試這個,
在清單中添加這個,這里的主機是 12456,所以你的密碼是*#*#123456#*#*
(撥入)
<receiver android:name=".Dialer"> //here is your broadcast receiver class
<intent-filter>
<action android:name="android.provider.Telephony.SECRET_CODE" />
<data android:scheme="android_secret_code"
android:host="123456"
/>
</intent-filter>
</receiver>
這是您的廣播接收器類:
class Dialer : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
// Declare Here your launcher activity in Intent
var i : Intent = Intent(context, MainActivity::class.java)
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context!!.startActivity(i);
}
}
根據ridoy的第二個鏈接,
它應該是
String phoneNumber = intent.getStringExtra("android.intent.extra.PHONE_NUMBER");
而不是
String phoneNumber = intent.getExtras.getString("Intent.EXTRA_PHONE_NUMBER");
這種變化至少對我有用......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.