ped*_*dja 7 java android broadcastreceiver android-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);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
并在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>
Run Code Online (Sandbox Code Playgroud)
尝试这些小改动..
String phoneNumber = intent.getExtras.getString("Intent.EXTRA_PHONE_NUMBER");
if(phoneNumber.equals("*#588637#")) {
//do your stuff
}
Run Code Online (Sandbox Code Playgroud)
并且不要忘记在Manifest.xml文件中添加此行
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
Run Code Online (Sandbox Code Playgroud)
你也可以找到这些有用的..
归档时间: |
|
查看次数: |
3890 次 |
最近记录: |