2011-12-22 28 views
20

電話番号も含まれているテキストビューをクリックすると、電話をかけたいという質問があります。しかし、私はそれのようにエラーを返す表示テキストをクリックしたとき:androidのtextviewをクリックして電話をかける

12-22 10:32:36.703: ERROR/AndroidRuntime(399): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.CALL dat=4564646546 flg=0x10000000 } 
12-22 10:32:36.703: ERROR/AndroidRuntime(399):  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1408) 
12-22 10:32:36.703: ERROR/AndroidRuntime(399):  at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378) 
12-22 10:32:36.703: ERROR/AndroidRuntime(399):  at android.app.Activity.startActivityFromChild(Activity.java:3057) 
12-22 10:32:36.703: ERROR/AndroidRuntime(399):  at android.app.Activity.startActivityForResult(Activity.java:2837) 
12-22 10:32:36.703: ERROR/AndroidRuntime(399):  at android.app.Activity.startActivity(Activity.java:2923) 
12-22 10:32:36.703: ERROR/AndroidRuntime(399):  at com.shipface.profile.Profile$1.onClick(Profile.java:66) 
12-22 10:32:36.703: ERROR/AndroidRuntime(399):  at android.view.View.performClick(View.java:2408) 
12-22 10:32:36.703: ERROR/AndroidRuntime(399):  at android.view.View$PerformClick.run(View.java:8816) 
12-22 10:32:36.703: ERROR/AndroidRuntime(399):  at android.os.Handler.handleCallback(Handler.java:587) 
12-22 10:32:36.703: ERROR/AndroidRuntime(399):  at android.os.Handler.dispatchMessage(Handler.java:92) 
12-22 10:32:36.703: ERROR/AndroidRuntime(399):  at android.os.Looper.loop(Looper.java:123) 
12-22 10:32:36.703: ERROR/AndroidRuntime(399):  at android.app.ActivityThread.main(ActivityThread.java:4627) 
12-22 10:32:36.703: ERROR/AndroidRuntime(399):  at java.lang.reflect.Method.invokeNative(Native Method) 
12-22 10:32:36.703: ERROR/AndroidRuntime(399):  at java.lang.reflect.Method.invoke(Method.java:521) 
12-22 10:32:36.703: ERROR/AndroidRuntime(399):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
12-22 10:32:36.703: ERROR/AndroidRuntime(399):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
12-22 10:32:36.703: ERROR/AndroidRuntime(399):  at dalvik.system.NativeStart.main(Native Method) 

と私は同じことを解決する方法がわからない、私は、このに関する適切なソリューションを提案してください。

コード:

tv_phone.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      String phone_no= tv_phone.getText().toString().replaceAll("-", ""); 
      Intent callIntent = new Intent(Intent.ACTION_CALL); 
      callIntent.setData(Uri.parse(phone_no)); 
      callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      startActivity(callIntent); 
     } 
    }); 

私はまた、私たちのマニフェストファイル内のCALLに関する許可を取ります。

+0

あなたの許可が必要ではないと思います...私のテストはしませんでした。実際のダイヤラを作成していて、既存のダイヤラを起動していない場合にのみアクセス許可が必要だと思ってください。 – SteelBytes

答えて

11

変更、それにcallIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

が、そのは私のために私のため

2
import android.app.Activity; 
    import android.content.Intent; 
    import android.net.Uri; 
    import android.os.Bundle; 
    import android.view.View; 
    import android.widget.Button; 

    public class CustomCellActivity extends Activity { 
     

    /** Called when the activity is first created. */ 
       

     @Override 
     

    public void onCreate(Bundle savedInstanceState) { 
             

    super.onCreate(savedInstanceState); 
        

    setContentView(R.layout.main); 


           Button Phone = (Button) findViewById(R.id.button1); 
        

    Phone.setOnClickListener(new View.OnClickListener() { 
      @Override 
   

    public void onClick(View v) { 
  

     Intent sIntent = new Intent(Intent.ACTION_CALL, Uri 
    

     .parse("tel:12345")); 
  

     sIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
  
    

    startActivity(sIntent); 
  

    } 
  

    }); 

このコードは私のために機能します。試してみてください。 callIntent.setData(Uri.parse("tel:"+phone_no));

と私はこれを追加didntは:

+0

エラーは同じです。 –

-1
 TextVIew dialers=(TextView)this.findViewById(R.id.dialer); 
     dialers.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View view) 
     { 
         launchDialer(dialers.getText().toString()); 
        } 

     }); 
18

この作業を作業:)

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:autoLink="phone" android:background="#ADD8E6" android:text="555-468-0602" />

71

この属性を追加するt o XMLレイアウトファイル内のtextviewコンポーネント。次のようになります。

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:autoLink="phone" 
    android:text="123 123 1234" /> 
+0

簡単ですがうまくいきます。 'TextView'に数字がない場合は、リンクなしで表示され、例外はありません。クール! –

+0

これは偉大なアプローチです – atifali

+0

これは受け入れられる回答である必要があります。 – camelCaseCoder

関連する問題