安卓开发中,Widget点击事件进入系统的日历是代码如下,那么相似的进入系统时间要怎么修改?
IntentintentOfCalendar=newIntent();intentOfCalendar.setComponent(newComponentName("co...
Intent intentOfCalendar = new Intent();
intentOfCalendar.setComponent(new ComponentName("com.android.calendar",
"com.android.calendar.LaunchActivity"));
PendingIntent pendingIntent1 = PendingIntent.getActivity(
getApplicationContext(), 0, intentOfCalendar, 0); 展开
intentOfCalendar.setComponent(new ComponentName("com.android.calendar",
"com.android.calendar.LaunchActivity"));
PendingIntent pendingIntent1 = PendingIntent.getActivity(
getApplicationContext(), 0, intentOfCalendar, 0); 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏20(财富值+成长值)
1个回答
展开全部
4.0以上版本
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.android.deskclock",
"com.android.deskclock.AlarmsMainActivity"));
startActivity(intent);
如果不行的话,就换成
Intent intent = getPackageManager().getLaunchIntentForPackage("com.android.deskclock");
startActivity(intent);
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.android.deskclock",
"com.android.deskclock.AlarmsMainActivity"));
startActivity(intent);
如果不行的话,就换成
Intent intent = getPackageManager().getLaunchIntentForPackage("com.android.deskclock");
startActivity(intent);
追问
不行 进不去
追答
com.android.deskclock是原生4.0系统时钟的包名
用第二种方式也不能调用的话,可能你的手机系统是深度定制的,厂家用自己的应用替换了google原始的应用,比如三星,小米,华为,魅族都有自己深度定制的android系统。这也是让开发android应用的工程师头疼的一件事。
像这种情况,根据需求,解决方法有两种。
面向大众的应用,要适配市面上大部分机型
这种需要你自己写时钟代码,或者引用别人的代码或第三方开源的库,内置到自己的应用中。这种方式可以根据自己的需要改动代码,能极好的配合自己的应用。
针对专一机型的定制开发
这类应用,除了第一种方式。还可以通过getPackageManager的queryIntentActivities方法,找到该机型上安装的所有应用信息,自己从中找出时钟应用的包名与启动类,记下来调用即可。具体方式可以参考Android桌面类应用,也就是Launcher的开发。(个人不推荐,隐患很多,需要回调的话还要看调用的应用支不支持支持。)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询