2014-09-06 28 views
0

我試圖通過製作一些基本的應用程序來學習android。我試圖創建調用應用程序,它將調用給定的數字作爲輸入。代碼編譯得很好,但是當我點擊Call時,它會顯示一個錯誤並打開Parcel類。我無法解決這個問題。請提出修復建議。 thnksAndroid中調用意圖錯誤

我MainActvitiy文件 -

package com.example.call; 

import android.support.v7.app.ActionBarActivity; 
import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.view.View.OnClickListener; 

public class MainActivity extends ActionBarActivity { 
Button b; 
EditText e1; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
b=(Button) findViewById(R.id.button1); 
e1=(EditText) findViewById(R.id.editText1); 

    b.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      String abc=e1.getText().toString(); 
      Intent i=new Intent(Intent.ACTION_CALL); 
      i.setData(Uri.parse("tel:"+abc)); 
      startActivity(i); 

     } 
    }); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 
    if (id == R.id.action_settings) { 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 
} 

我activity_main文件 -

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context="com.example.call.MainActivity" > 

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/hello_world" /> 

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/textView1" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="83dp" 
    android:text="Call home" /> 

<EditText 
    android:id="@+id/editText1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/textView1" 
    android:layout_marginTop="26dp" 
    android:layout_toRightOf="@+id/textView1" 
    android:ems="10" > 

    <requestFocus /> 
</EditText> 

</RelativeLayout> 
+0

如果你有任何錯誤,首先你應該看看LogCat – 2014-09-06 10:49:21

回答

0

加入這個權限在你AndroidManifest文件:

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

感謝它的工作!忘記在清單文件中添加權限 – johnripper 2014-09-06 10:54:04

+0

@ user3576010:很高興聽到這一點,如果您將其標記爲accacent的答案,那就太好了。 – 2014-09-06 10:55:21

0

看來您忘了添加在權限AndroidMenifest文件。

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