2013-02-06 38 views
7

Đây là những gì tôi có cho đến nay nhưng không có gì xảy ra khi tôi đầu vào kết hợp này trong dialerAndroid. Khởi chạy ứng dụng từ 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); 
     } 

    } 

} 
} 

và trong 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> 

Trả lời

6

Hãy thử với những thay đổi nhỏ ..

String phoneNumber = intent.getExtras.getString("Intent.EXTRA_PHONE_NUMBER"); 

      if(phoneNumber.equals("*#588637#")) { 
      //do your stuff 
      } 

Và đừng quên thêm dòng này vào tệp Manifest.xml của bạn

<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/> 

Ngoài ra bạn có thể tìm thấy những hữu ích ..

+0

android.intent doesnt exist – pedja

+0

Xem giải pháp cập nhật, nó hoạt động tốt cho tôi. – ridoy

+0

nó vẫn không hoạt động. Người nhận không nhận được phát sóng ở tất cả – pedja

2

là người nhận nhận được phát sóng ở tất cả? Nếu không, có thể bạn quên bao gồm sự cho phép của PROCESS_OUTGOING_CALLS.

+0

Nó không nhận được phát sóng nào cả, tôi đã thêm quyền nhưng vẫn không có gì – pedja

0

Theo liên kết 2 ridoy của,

http://tikuflower.blogspot.com/2011/12/android.html

Nó phải là

String phoneNumber = intent.getStringExtra("android.intent.extra.PHONE_NUMBER"); 

hơn

String phoneNumber = intent.getExtras.getString("Intent.EXTRA_PHONE_NUMBER"); 

Thay đổi đó có tác dụng với tôi ít nhất ...

Các vấn đề liên quan