您的位置:首页 > 编程语言 > Go语言

指定Action、Category调用系统Activty

2016-06-29 23:32 344 查看
Intent代表了启动某个程序组件的“意图“,实际上Intent对象不仅可以启动本应用内程序组件,也可启动Android系统的其它应用的程序组件,包括系统自带的程序组件——只要权限允许。

实际上Android内部提供了大量标准Action、Category常量。

以下为常用的标准Action常量

常量名称常量值意义
ACTION_MAINAndroid.intent.action.MAIN应用程序入口
ACTION_VIEWandroid.intent.action.VIEW显示指定数据
ACTION_ATTACH_DATAandroid.intent.action.ATTACH_DATA指明某块数据将被附加到给其他地方
ACTION_EDITandroid.intent.action.EDIT编辑指定数据
ACTION_PICKandroid.intent.action.PICK从列表中选择某项,并返回所选的数据
ACTION_CHOOSERandroid.intent.action.CHOOSER显示一个Activity选择器
ACTION_GET_CONTENTandroid.intent.action.GET_CONTENT让用户选择数据,并返回所选数据
ACTION_DIALandroid.intent.action.DIAL显示拨号面板
ACITON_CALLandroid.intent.action.CALL直接向指定用户打电话
ACTION_SENDandroid.intent.action.SEND选择发短信
ACTION_SENDTOandroid.intent.action.SENDTO直接发短信
ACTION_ANSWERandroid.intent.action.ANSWER应答电话
ACTION_INSERTandroid.intent.action.INSERT插入数据
ACTION_DELETEandroid.intent.action.DELETE删除数据
ACTION_RUNandroid.intent.action.RUN运行数据
ACTION_SYNCandroid.intent.action.SYNC执行数据同步
ACTION_PICK_ACTIVITYandroid.intent.action.PICK_ACTIVITY用于选择Activty
ACTION_SEARCHandroid.intent.action.SEARCH执行搜索
ACTION_WEB_SEARCHandroid.intent.action.WEB_SEARCH执行Web搜索
ACTION_FACTORY_TESTandroid.intent.action.FACTORY_TEST工厂测试的入口点
以下为常用的标准Category常量

常量名称常量值意义
CATEGORY_DEFAULTandroid.intent.category.DEFAULT默认的Category
CATEGORY_BROWSABLEandroid.intent.category.BROWSABLE指定Activity能被浏览器安全调用
CATEGORY_TABandroid.intent.category.TAB指定Activity作为TabActivity的TAB页
CATEGORY_LAUNCHERandroid.intent.category.LAUNCHER表示目标Activity是应用程序中最优先被执行的Activity
CATEGORY_INFOandroid.intent.category.INFO用于提供包信息
CATEGORY_HOMEandroid.intent.category.HOME目标Activity是HOMEActivity,即手机开机启动后显示的Activity,或按下HOME键后显示的Activity
CATEGORY_PREFERENCEandroid.intent.category.PREFERENCE该Activity是参数面板
CATEGORY_TESTandroid.intent.category.TEST该Activity是一个测试
CATEGORY_CAR_DOCKandroid.intent.category.CAR_DOCK指定手机被插入汽车底座(硬件)时运行该Activity
CATEGORY_DESK_DOCKandroid.intent.category.DESK_DOCK指定手机被插入桌面底座(硬件)时运行该Activity
CATEGORY_CAR_MODEandroid.intent.category.CAR_MODE设置该Activity可在车载环境下使用
常量名称常量值意义
ACTION_VIEWandroid.intent.action.VIEW显示指定数据
使用实例:

public class MainActivity extends AppCompatActivity {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.start_intent);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
String data = "http://www.baidu.com";
Uri uri = Uri.parse(data);
intent.setAction(Intent.ACTION_VIEW);
intent.setData(uri);
startActivity(intent);
}
});
}
}


点击按钮后,页面跳转到浏览器搜索百度主页的界面。

常量名称常量值意义
ACTION_EDITandroid.intent.action.EDIT编辑指定数据
使用实例:

public class MainActivity extends AppCompatActivity {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.start_intent);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
String data = "content://com.android.contacts/contacts/1";
Uri uri = Uri.parse(data);
intent.setAction(Intent.ACTION_EDIT);
intent.setData(uri);
startActivity(intent);
}
});
}
}


点击按钮后,页面跳转到编辑标识为1的联系人界面。

常量名称常量值意义
ACTION_DIALandroid.intent.action.DIAL显示拨号面板
使用实例:

public class MainActivity extends AppCompatActivity {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.start_intent);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
String data = "tel:110";
Uri uri = Uri.parse(data);
intent.setAction(Intent.ACTION_DIAL);
intent.setData(uri);
startActivity(intent);
}
});
}
}


点击按钮后,页面跳转到向110的拨号界面。

常量名称常量值意义
ACITON_CALLandroid.intent.action.CALL直接向指定用户打电话
使用实例:

public class MainActivity extends AppCompatActivity {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.start_intent);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Uri uri = Uri.parse("tel:10086");
Intent intent = new Intent(Intent.ACTION_CALL, uri);
startActivity(intent);
}
});
}
}


注意加上权限:
<uses-permission android:name="android.permission.CALL_PHONE" />


点击按钮后,页面跳转到拨向10086的界面。

常量名称常量值意义
ACTION_SENDTOandroid.intent.action.SENDTO直接发短信
使用实例:

public class MainActivity extends AppCompatActivity {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.start_intent);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Uri uri = Uri.parse("smsto:10086");
Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
startActivity(intent);
}
});
}
}


点击按钮后,页面跳转到向10086的发送信息界面。

常量名称常量值意义
ACTION_WEB_SEARCHandroid.intent.action.WEB_SEARCH执行Web搜索
使用实例:

public class MainActivity extends AppCompatActivity {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.start_intent);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_WEB_SEARCH);
intent.putExtra(SearchManager.QUERY,"searchString");
startActivity(intent);
}
});
}
}


点击按钮后,页面跳转到浏览器搜索“searchString“的界面。

常量名称常量值意义
ACTION_DELETEandroid.intent.action.DELETE删除数据
使用实例:

public class MainActivity extends AppCompatActivity {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.start_intent);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Uri uri = Uri.fromParts("package", getPackageName(), null);
Intent intent = new Intent(Intent.ACTION_DELETE, uri);
startActivity(intent);
}
});
}
}


点击按钮后,页面跳转到卸载该app的界面。

常量名称常量值意义
ACTION_GET_CONTENTandroid.intent.action.GET_CONTENT让用户选择数据,并返回所选数据
使用实例:

public class MainActivity extends AppCompatActivity {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.start_intent);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent, 11);
}
});
}
}


点击按钮后,页面跳转到选择图片的界面。

常量名称常量值意义
ACTION_PICKandroid.intent.action.PICK从列表中选择某项,并返回所选的数据
使用实例:

public class MainActivity extends AppCompatActivity {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.start_intent);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Uri uri = Uri.parse("content://contacts/people");
Intent intent = new Intent(Intent.ACTION_PICK, uri);
startActivityForResult(intent, 1);
}
});
}
}


点击按钮后,页面跳转到联系人列表的界面。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android