main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="inputphonenumber" /> <EditText android:id="@+id/phonenumber" android:layout_width="fill_parent" android:layout_height="wrap_content" android:phoneNumber="true" /> <Button android:id="@+id/btn_call" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="CALL" /> </LinearLayout>
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="test.mft" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="test.mft.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission> </manifest>
main.java
package test.mft;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
private Context Tcontext;
//hander
private final int HANDER_CALL_RETURN = 1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Tcontext = MainActivity.this;
Button btn_call = (Button) findViewById(R.id.btn_call);
btn_call.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
EditText et_phonenumber = (EditText)findViewById(R.id.phonenumber);
String number = et_phonenumber.getText().toString();
Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+number));
startActivity(intent);
new ToCall();
MainActivity.this.finish();
}
});
}
class ToCall {
public ToCall() {
// TODO Auto-generated constructor stub
new Thread(){
@Override
public void run() {
// TODO Auto-generated method stub
try
{
sleep(5000);
Message message = Message.obtain();
message.what = HANDER_CALL_RETURN;
hander.sendMessage(message);
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
// 卸载所创建的myDialog对象
}
}
}.start();
}
}
Handler hander = new Handler() {
public void handleMessage(Message msg) {
int handerType = (int) msg.what;
switch (handerType) {
case HANDER_CALL_RETURN:
Toast.makeText(Tcontext,"弹出窗口关闭咯", Toast.LENGTH_LONG).show();
Intent intent = new Intent();
intent.setClass(MainActivity.this, MainActivity.class);
Tcontext.startActivity(intent);
break;
default:
break;
}
};
};
}