android通过包名跳转到系统闹钟
来源:互联网 发布:帝国cms 标签大全 编辑:程序博客网 时间:2024/06/05 01:11
主要是通过包名来跳转系统的闹钟
这个在部分手机不可以跳转,
//跳转系统闹钟// Intent alarmas = new Intent(AlarmClock.ACTION_SET_ALARM);// startActivity(alarmas);
所以要使用通过包名来调用系统闹钟
public class SystemClockDemoActivity extends Activity {Map<String, Object> item;private ArrayList<String> pagList;private Button button;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);button = (Button) findViewById(R.id.button);pagList = new ArrayList<String>();button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {listPackages();Log.d("mxt", "paglist的大小:" + pagList.size());for (int i = 0; i < pagList.size(); i++) {Log.d("mxt", pagList.get(i));}PackageManager pm = getPackageManager();Intent i = pm.getLaunchIntentForPackage(pagList.get(0));// 如果该程序不可启动(像系统自带的包,有很多是没有入口的)会返回NULLif (i != null) {SystemClockDemoActivity.this.startActivity(i);} else {Intent i2 = new Intent(Settings.ACTION_DATE_SETTINGS);SystemClockDemoActivity.this.startActivity(i);}}});}class PInfo {private String appname = "";private String pname = "";private String versionName = "";private int versionCode = 0;private Drawable icon;private void prettyPrint() {Log.i("taskmanger", appname + "\t" + pname + "\t" + versionName+ "\t" + versionCode + "\t");}}private void listPackages() {ArrayList<PInfo> apps = getInstalledApps(false); /* * false = no system * packages */final int max = apps.size();for (int i = 0; i < max; i++) {apps.get(i).prettyPrint();item = new HashMap<String, Object>();int aa = apps.get(i).pname.length();if (aa > 11) {if (apps.get(i).pname.indexOf("clock") != -1) {if (!(apps.get(i).pname.indexOf("widget") != -1)) {try {PackageInfo pInfo = getPackageManager().getPackageInfo(apps.get(i).pname, 0);if (isSystemApp(pInfo) || isSystemUpdateApp(pInfo)) {Log.d("mxt", "是系统自带的");Log.d("mxt","找到了"+ apps.get(i).pname.substring(apps.get(i).pname.length() - 5)+ " 全名:" + apps.get(i).pname+ " " + apps.get(i).appname);item.put("pname", apps.get(i).pname);item.put("appname", apps.get(i).appname);pagList.add(apps.get(i).pname);}} catch (Exception e) {// TODO: handle exception}}}}}}private ArrayList<PInfo> getInstalledApps(boolean getSysPackages) {ArrayList<PInfo> res = new ArrayList<PInfo>();List<PackageInfo> packs = getPackageManager().getInstalledPackages(0);for (int i = 0; i < packs.size(); i++) {PackageInfo p = packs.get(i);if ((!getSysPackages) && (p.versionName == null)) {continue;}PInfo newInfo = new PInfo();newInfo.appname = p.applicationInfo.loadLabel(getPackageManager()).toString();newInfo.pname = p.packageName;newInfo.versionName = p.versionName;newInfo.versionCode = p.versionCode;newInfo.icon = p.applicationInfo.loadIcon(getPackageManager());res.add(newInfo);}return res;}public boolean isSystemApp(PackageInfo pInfo) {return ((pInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0);}public boolean isSystemUpdateApp(PackageInfo pInfo) {return ((pInfo.applicationInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0);}}
1 0
- android通过包名跳转到系统闹钟
- 通过PHP怎样取到android系统下apk应用的包名,版本号等信息
- 通过PHP怎样取到android系统下apk应用的包名,版本号等信息
- Android代码通过包名调用系统卸载程序
- 跳转到已安装的apk&&获取Android应用包名package和入口activity名称
- android应用程序跳转到系统的各个设置页面和通过Intent action 跳转到系统页面,
- 通过Intent跳转到系统应用
- 通过intent跳转到系统拨号页面
- android 通过 包名启动Activity
- android 通过 包名启动Activity
- 通过包名启动Android程序
- Android 通过包名打开其他APP
- Android通过包名启动Activity
- android通过包名启动应用
- android 通过包名杀死进程
- Android通过包名打开app
- Android 通过apk文件获取包名
- Android 通过包名打开APP
- SPI、I2C、UART的一点理解
- Android MediaRecorder录制视频报错start failed:-19原因
- cat命令
- mac
- 第九周项目1-猴子选大王(数组版)
- android通过包名跳转到系统闹钟
- JavaScript消息对话框(提示框,页面输出以及浏览器控制台打印)
- SharedPreferences 存储(将数据存储到 SharedPreferences 中)
- 仿京东首页的京东快报,自动向上滚动的广告条
- python_nltk(包含很多自然语言语料)
- mysql命令行学习应用
- [linux私房菜笔记]第五章
- Kettle使用资源库情况下批量更新邮件组件相关信息
- 安卓3秒后自动执行