Android调用系统自带功能( 照相,浏览照片,打开浏览器,拨打电话)

时间:2022-11-09 23:58:10

MainActivity如下:

package cn.com.bravesoft.testintent;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.app.Activity;
import android.content.Intent;
/**
*
*官方资料:
*1 权限设置
* http://developer.android.com/reference/android/Manifest.permission.html
*2 系统Intent
* http://developer.android.com/reference/android/content/Intent.html#ACTION_CALL
*/
public class MainActivity extends Activity {
private Button mTelephoneButton;
private Button mPhotosButton;
private Button mBrowserButton;
private Button mCameraButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
}
private void init(){
mTelephoneButton=(Button) findViewById(R.id.callTelephoneButton);
mTelephoneButton.setOnClickListener(new ButtonOnClickListenerImpl());
mPhotosButton=(Button) findViewById(R.id.browsephotosButton);
mPhotosButton.setOnClickListener(new ButtonOnClickListenerImpl());
mBrowserButton=(Button) findViewById(R.id.openBrowserButton);
mBrowserButton.setOnClickListener(new ButtonOnClickListenerImpl());
mCameraButton=(Button) findViewById(R.id.openCameraButton);
mCameraButton.setOnClickListener(new ButtonOnClickListenerImpl());
}
private class ButtonOnClickListenerImpl implements OnClickListener{
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.callTelephoneButton:
//拨打电话
Intent telephoneIntent=new Intent();
telephoneIntent.setAction("android.intent.action.CALL");
telephoneIntent.setData(Uri.parse("tel:"+"150028068"));
startActivity(telephoneIntent);
break;
case R.id.browsephotosButton:
//查看图片
Intent galleryIntent=new Intent();
galleryIntent.setAction(Intent.ACTION_GET_CONTENT);
galleryIntent.setType("image/*");
startActivity(galleryIntent);
break;
case R.id.openBrowserButton:
//打开浏览器
Intent browserIntent=new Intent();
browserIntent.setAction(Intent.ACTION_VIEW);
browserIntent.setData(Uri.parse("http://www.ifeng.com"));
startActivity(browserIntent);
break;
case R.id.openCameraButton:
//打开照相机
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivity(cameraIntent);
break;

default:
break;
}
}

}
}

main.xml如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="center_horizontal"
>
<Button
android:id="@+id/callTelephoneButton"
android:layout_width="150dip"
android:layout_height="40dip"
android:gravity="center"
android:text="@string/callTelephone"
android:layout_marginTop="50dip"
android:textSize="20sp"
/>
<Button
android:id="@+id/browsephotosButton"
android:layout_width="150dip"
android:layout_height="40dip"
android:gravity="center"
android:text="@string/browsephotos"
android:layout_marginTop="50dip"
android:textSize="20sp"
/>
<Button
android:id="@+id/openBrowserButton"
android:layout_width="150dip"
android:layout_height="40dip"
android:gravity="center"
android:text="@string/openBrowser"
android:layout_marginTop="50dip"
android:textSize="20sp"
/>
<Button
android:id="@+id/openCameraButton"
android:layout_width="150dip"
android:layout_height="40dip"
android:gravity="center"
android:text="@string/openCamera"
android:layout_marginTop="50dip"
android:textSize="20sp"
/>

</LinearLayout>