用Intent 调用 打电话 发短信 播放音乐 删除软件 安装软件等操作
布局文件中几个按钮:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示网页"
android:onClick="showWeb"
android:id="@+id/button9" android:layout_alignParentTop="true"
android:layout_alignParentStart="true" android:layout_alignParentEnd="true"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="拨打电话"
android:onClick="callClick"
android:id="@+id/button10" android:layout_below="@+id/button9"
android:layout_alignParentStart="true" android:layout_alignParentEnd="true"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="发送短信1"
android:onClick="sendSMS"
android:id="@+id/button11" android:layout_below="@+id/button10"
android:layout_alignParentStart="true" android:layout_alignParentEnd="true"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="发送短信2"
android:onClick="sendSMS2"
android:id="@+id/button12" android:layout_below="@+id/button11"
android:layout_alignParentStart="true" android:layout_alignParentEnd="true"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="播放音乐"
android:onClick="playMusic"
android:id="@+id/button13"
android:layout_below="@+id/button12" android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="卸载程序"
android:onClick="uninstallClick"
android:id="@+id/button14" android:layout_below="@+id/button13"
android:layout_alignParentStart="true" android:layout_alignParentEnd="true"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="安装程序"
android:onClick="installAPK"
android:id="@+id/button15" android:layout_below="@+id/button14"
android:layout_alignParentStart="true" android:layout_alignParentEnd="true"/>
</RelativeLayout>
Activity中 代码部分 对应创建按钮的单击事件方法
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/**
* 显示网页
* @param v
*/
public void showWeb(View v){
Uri uri = Uri.parse("http://www.baidu.com");
Intent it=new Intent(Intent.ACTION_VIEW,uri);
startActivity(it);
}
//拨打电话:调用拨号程序
//要使用这个必须在配置文件中加入
//Intent it = new Intent(Intent.ACTION_CALL, uri);
//<uses-permission android:name="android.permission.CALL_PHONE"/>
public void callClick(View v){
Uri uri = Uri.parse("tel:182345678");
Intent it = new Intent(Intent.ACTION_DIAL, uri);
startActivity(it);
}
//调用发送短信的程序
public void sendSMS(View v){
Intent it = new Intent(Intent.ACTION_VIEW);
it.putExtra("sms_body", "hello");
it.setType("vnd.android-dir/mms-sms");
startActivity(it);
}
//发送短信
public void sendSMS2(View v){
Uri uri = Uri.parse("smsto:0800000123");
Intent it = new Intent(Intent.ACTION_SENDTO, uri);
it.putExtra("sms_body", "hello moliying");
startActivity(it);
}
//播放音乐
public void playMusic(View v){
Uri uri = Uri.parse("file:///sdcard/moliying_music/music/晴天.mp3");
Intent it=new Intent(Intent.ACTION_VIEW,uri);
//it.addFlags(it.FLAG_ACTIVITY_NEW_TASK);//非必须选项
it.setDataAndType(uri, "audio/mp3"); //mp3 可以换成 * ,表示所有媒体文件。 播视频的可以 换成对应 格式
startActivity(it);
}
//Uninstall 程序
public void uninstallClick(View v){
Uri uri = Uri.parse("package:com.moliying.vince.a31_activity");
Intent intent = new Intent(Intent.ACTION_DELETE, uri);
startActivity(intent);
}
//安装APK
public void installAPK(View v){
Uri uri = Uri.fromFile(new File("/sdcard/Download/soguo.apk"));
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "application/vnd.android.package-archive");
startActivity(intent);
}
}
注意:在打电话中的两个方法里 建议用 Intent it = new Intent(Intent.ACTION_DIAL, uri);
如果用
Intent it = new Intent(Intent.ACTION<strong><span style="color:#FF0000;">_CALL</span></strong>, uri);调用拨号程序, <strong><span style="color:#FF0000;">必须在配置文件中加入</span></strong>
<uses-permission android:name="android.permission.CALL_PHONE"/>