package com.example.day05intentdemo;
import java.io.File;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void click(View view) {
switch (view.getId()) {
case R.id.Button1:
// 1.启动自定义其他应用中的Activity
Intent intent1 = new Intent();
// ComponentName component = new ComponentName(MainActivity.this,
// SecondActivity.class);
ComponentName component = new ComponentName(
"com.qf.day05ActivityDemo",
"com.qf.day05ActivityDemo.TestActivity");
intent1.setComponent(component);
startActivity(intent1);
break;
case R.id.Button2:
// 2.显式启动系统自带的应用中的Activity
Intent intent2 = new Intent();
// ComponentName component2 = new
// ComponentName("com.android.dialer",
// "com.android.dialer.DialtactsActivity");
ComponentName component2 = new ComponentName("com.tencent.mtt",
"com.tencent.mtt.SplashActivity");
intent2.setComponent(component2);
startActivity(intent2);
break;
case R.id.Button3:
// 3.隐式启动自定义本应用中或者其他应用的Activity
Intent intent3 = new Intent();
intent3.setAction("changfajiyao");
startActivity(intent3);
break;
case R.id.Button4:
// 4.回到桌面
Intent intent4 = new Intent();
intent4.setAction(Intent.ACTION_MAIN);
intent4.addCategory(Intent.CATEGORY_HOME);
startActivity(intent4);
break;
case R.id.Button5:
// 5.拨打电话10086
Intent intent5 = new Intent();
intent5.setAction(Intent.ACTION_CALL);
intent5.setData(Uri.parse("tel://10086"));
startActivity(intent5);
break;
case R.id.Button6:
// 6.显示拨号面板,并拨号10000
Intent intent6 = new Intent();
intent6.setAction(Intent.ACTION_DIAL);
intent6.setData(Uri.parse("tel://10000"));
startActivity(intent6);
break;
case R.id.Button7:
// 7.发短信给5556
Intent intent7 = new Intent();
intent7.setAction(Intent.ACTION_SENDTO);
intent7.setData(Uri.parse("smsto:5556"));
intent7.putExtra("sms_body", "hello!");
startActivity(intent7);
break;
case R.id.Button8:
// 8.发送数据给自定义的Activity
Intent intent8 = new Intent();
intent8.setAction("xiaofang");
intent8.addCategory(Intent.CATEGORY_DEFAULT);
intent8.setData(Uri.parse("house://car/zuanjie"));
startActivity(intent8);
break;
case R.id.Button9:
// 9.播放音乐
Intent intent9 = new Intent();
intent9.setAction(Intent.ACTION_VIEW);
File file = new File(Environment.getExternalStorageDirectory(), "1.mp3");
if (file.exists()) {
Uri uri = Uri.fromFile(file);
intent9.setDataAndType(uri, "audio/*");
startActivity(intent9);
}else {
System.out.println("文件不存在"+file.getAbsolutePath());
}
break;
}
}
}
package com.example.day05intentdemo;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class ThirdActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_third);
Intent intent = getIntent();
Uri uri = intent.getData();
System.out.println(uri.toString());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.third, 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);
}
}
package com.example.day05intentdemo;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class SecondActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.second, 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);
}
}