15

Tôi đang cố gắng để làm cho ứng dụng của tôi gọi một số từ một EditText, nhưng tôi nhận được:Không có hoạt động phát hiện để xử lý ý định action.dial

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.DIAL dat=Ring Tel nr. 123456789 } 

Tôi đã tìm kiếm một thời gian cho một câu trả lời, nhưng hầu hết các câu trả lời là các quyền và thêm hoạt động vào tệp kê khai. Tôi đã làm cả hai, nếu tôi không làm sai. Và tôi đang chạy nó trên điện thoại của tôi, không phải giả lập. Tôi đã thử cả hai có và không có các bộ lọc ý định. Dưới đây là các mã: Manifest: <uses-permission android:maxSdkVersion="19" android:name="android.permission.CALL_PHONE"/>

 <activity 
     android:name="nu.sluggo.testapp.annons.Activity2"> 
     <intent-filter> 
    <action android:name="android.intent.action.DIAL" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
</intent-filter> 

nút để thực hiện cuộc gọi (được số điện thoại từ SharedPrefs A1 dưới đây :)

 knapp_ring.setOnClickListener(new View.OnClickListener() { 
     Intent call = new Intent(Intent.ACTION_DIAL); 
     @Override 
     public void onClick(View v){ 
      call.setData(Uri.parse("Telnr:" + a1)); 
      startActivity(call); 
     } 
    }); 

Trả lời

52

Ring Tel nr. 123456789 không phải là số điện thoại hợp lệ, và rằng là gì trong số Intent của bạn. "Telnr:" + a1 cũng có vẻ không hợp lệ. Sử dụng tel: tiếp theo số điện thoại như giá trị truyền cho Uri.parse():

Uri.parse("tel:" + a1) 
+0

Aah! Cảm ơn! Tôi nghĩ "tel:" có thể là bất kỳ chuỗi nào. -Đã sửa nó. Chỉ có vấn đề bây giờ là nếu số đầu tiên là 0, nó sẽ bị xóa tự động .. Nhưng đó là một vấn đề khác, mà tôi có thể sẽ sớm tìm ra. Cảm ơn một lần nữa! – Sluggo

3

hãy chắc chắn để sử dụng giấy phép này, tương tự xảy ra đối với tôi

<uses-permission android:name="android.permission.CALL_PHONE" /> 
+5

Hành động.Dial không yêu cầu bất kỳ sự cho phép nào. Action.Call yêu cầu sự cho phép đó. –

+0

@OguzOzcan vấn đề của tôi đã được giải quyết sau khi thêm sự cho phép, mọi người đồng ý với câu trả lời theo bầu chọn lên. –

+0

Nó không phải là upvotes mà làm cho một cái gì đó chính xác. Chỉ cần google nó và bạn sẽ thấy câu trả lời của tôi trên internet. Nhưng vẫn còn trong trường hợp của bạn nó có thể là về phiên bản của biên dịch sdk. Không chắc lắm. –

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