安卓获取系统当前时间手机怎样禁止应用获取设备当前的时间?

Android程序完全退出的三种方法
作者: Android开发网原创 时间:
很多网友可能发现自己的Android程序有很多Activity,比如说主窗口A,调用了子窗口B,在B中如何关闭整个Android应用程序呢? 这里Android123给大家三种比较简单的方法实现。
首先要说明在B中直接使用finish(),接下来手机显示的还是主窗口A,所以一起来看看Android开发网是如何实现的吧.
Dalvik VM的本地方法
android.os.Process.killProcess(android.os.Process.myPid())
//获取PID,目前获取自己的也只有该API,否则从/proc中自己的枚举其他进程吧,不过要说明的是,结束其他进程不一定有权限,不然就乱套了。
System.exit(0);
//常规java、c#的标准退出法,返回值为0代表正常退出
任务管理器方法
首先要说明该方法运行在Android 1.5 API Level为3以上才可以,同时需要权限android.permission.RESTART_PACKAGES,我们直接结束自己的package即可,直接使用ActivityManager类的restartPackage方法即可,参数为package name,该类通过getSystemService(Context.ACTIVITY_SERVICE)来实例化ActivityManager对象,这种方法系统提供的,但需要显示声明权限,所以使用中需要综合考虑。
根据Activity的声明周期
我们知道Android的窗口类提供了历史栈,我们可以通过stack的原理来巧妙的实现,这里我们在A窗口打开B窗口时在Intent中直接加入标志Intent.FLAG_ACTIVITY_CLEAR_TOP,这样开启B时将会清除该进程空间的所有Activity。
在A窗口中使用下面的代码调用B窗口
Intent intent = new Intent();
intent.setClass(Android123.this, CWJ.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//注意本行的FLAG设置
startActivity(intent);
killBackgroundProcesses方法
在Android 2.2中新增了一个API可以帮助我们杀死后台进程,不过Android123再次强调其调用的API Level最小为8,killBackgroundProcesses是android.app.ActivityManager类的方法,使用时必须在androidmanifest.xml文件中加入KILL_BACKGROUND_PROCESSES这个权限。虽然本类还提供了restartPackage (String packageName) 方法调用的API Level为3,但是SDK中已经标记为deprecated,其实他们的原理都是一样的,只不过过去Google的命名方式确实不是很合理,restartPackage的作用很难让我们联想到是结束进程。
该方法的原型 public void killBackgroundProcesses (String packageName)
仅有一个参数为package Name,使用方法比较简单。
ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
am.killBackgroundProcesses("cn.com.android123.cwj");
// API Level至少为8才能使用
首先我们可以制造一个空指针的异常,比如TextView.setText方法中执行一个int型的内容,由于setText方法重载了R.string.xxx这样的资源int型内容,但是我们没有声明这个资源,仅仅把String写成了int的值,就会产生一个异常,这时系统Dalvik VM会直接关闭你的进程,这招十分有效,CWJ一般平时不公布给大家。
Thread.UncaughtExceptionHandler
但是有的网友说了,有Force Close的对话框怎么办,其实我们通过重写Android应用程序的Application基类自己实现Thread.UncaughtExceptionHandler接口的uncaughtException方法是可以避免出现FC窗口的,用户感觉直接退出了一样
http:///thread-.html
阅读(...) 评论()当前位置 & &
& 教你如何关闭Android位置跟踪
教你如何关闭Android位置跟踪
08:23:13&&作者:永辉
编辑:永辉 &&)
让小伙伴们也看看:
阅读更多:
好文共享:
文章观点支持
当前平均分:0(0 次打分)
[04-04][04-04][04-04][04-04][04-04][04-04][04-03][04-03][04-03][04-02]
登录驱动之家
没有帐号?
用合作网站帐户直接登录查看: 1519|回复: 7
希望E4A增加能为应用设置权限的功能.
主题帖子积分
比如我想写个程序,不需要用到联网,读手机状态等功能,怎样取消这样的权限.
现在的情况是不管你是写啥程序都自带完全的联网权限.这点很不方便啊.
有时就想写个记事本用不到联网,结果写出来后发现自带完全的联网权限.怎么去除呢?
语文是数学老师教的,不知道大家能不能看懂我想要表达的意思.....
(想当年站着就把学给上了)
主题帖子积分
资深会员, 积分 2099, 距离下一级还需 901 积分
资深会员, 积分 2099, 距离下一级还需 901 积分
反编译&&自己就可以去除权限
易-安卓 该用户已被删除
提示: 作者被禁止或删除 内容自动屏蔽
主题帖子积分
中级会员, 积分 465, 距离下一级还需 35 积分
中级会员, 积分 465, 距离下一级还需 35 积分
a.jpg (655.27 KB, 下载次数: 0)
17:06 上传
主题帖子积分
中级会员, 积分 412, 距离下一级还需 88 积分
中级会员, 积分 412, 距离下一级还需 88 积分
Specher 发表于
请问这在哪里下载的
主题帖子积分
中级会员, 积分 465, 距离下一级还需 35 积分
中级会员, 积分 465, 距离下一级还需 35 积分
无聊写的 原理很简单的
apk.jpg (101.89 KB, 下载次数: 0)
17:13 上传
主题帖子积分
高级会员, 积分 506, 距离下一级还需 494 积分
高级会员, 积分 506, 距离下一级还需 494 积分
昨天自己也写了一个计算器,安装到手机一看自己都吓尿了,几十个权限,什么都有,至于吗?别说给用户装了,自己装都怕,要怎么改少点,没必要的权限都去除了,楼上几位能说清楚点吗
主题帖子积分
本帖最后由
17:13 编辑
自己用apktool处理下就行
大家好,我是QIQI
2013粽子勋章
Powered by
Template By如何阻止Google Apps在Android后台耗电?
如何阻止Google Apps在Android后台耗电?
来源: | 时间: 10:17:39 | 阅读数:
[导读] 一直以为国内的应用流氓,没想到最霸道最流氓的是Google。不管你如何在账户设置里面取消同步,或者在应用里面取消同步或者通知项,甚至用禁用服务,绿色守护禁止同步相关App的服务。Google service还是照样再后
一直以为国内的应用流氓,没想到最霸道最流氓的是Google。不管你如何在账户设置里面取消同步,或者在应用里面取消同步或者通知项,甚至用&禁用服务&,绿色守护禁止同步相关App的服务。Google service还是照样再后台同步。
问题是,如果没有翻墙,同步就会拿着锁,挂在那里。这样会导致系统完全没法睡眠,1个小时能消耗10%的电能,而且手机会明显发热。
如果手工把Google应用杀掉,没有人后台偷偷同步,飞行模式下,1个小时只消耗0.5%的电量。虽然这个结果依旧不太理想,但这已经是在不对Kernel做任何修改下,能达到的最低待机功耗了。
本人用的手机One Plus,16G版本,联通3G,ROM:CM11S33R。
本文仅针对墙内使用了Google Service,并且不需要GCM推送和Google自动同步的情况,以及需要禁止Google服务在重启手机之后自动启动的情况。
请自动忽略图片上的时间戳,因为这个问题调试了很久,不是一次截的图。
亲测Google的账户同步功能没法&彻底&清除。你可以在&设置&-&&账户&中,取消勾选,但是霸道的GooglePlay服务在手机重启后也会运行,比如Checkin Service会长时间拿锁,网络条件不能翻墙的情况下,会导致你永远睡不下去。即便如此,取消Google自动同步也是必要的,必须改成手动。下面是操作方法:很多同步相关的配置在独立的应用之中;如果你希望手动同步,首先应该在应用里面勾除同步或者通知的选项,然后删除不用的Google原生APP。注意,只有为数几个可以删除(文字转语音翻译,街景,MAP,TAGS, Voice+)。
禁止Google App所有软件的自动启动。Google App并非系统组件,没有它们,系统照样正常运行。启动任意一款Google App,Google Framework和Google Play service都会自动启动,不用担心弹出意外停止通知。很多软件都可以做到,比如LBE安全大师,Autostarts。
禁止Google App保持唤醒。方案很多,Google Play有Wakelock Terminator(需购买),Xposed Framework有Pre App Hacking。我用的CM11S Kitkat 4.4.4,内置了AppOps。 设置-&隐私-&隐私防护,打开选项,勾选&显示内置应用&,点击&高级&。把有唤醒嫌疑的软件的属性给改了。&保持唤醒状态&,建议设成&总是询问&或者&拒绝&。注意,Location service也是拿锁的大户,也要禁止它保持唤醒。
绿色化所有Google App,这是最关键的步奏。需要3个软件,Greenify,Greenify捐献包(请购买正版),Wakelock detector。 我个人的经验,直接在Greenify里绿色化Google App不是很直接,因为你看不到哪些App拿住了锁,导致系统不睡。所以最好是配合Wakelock Detector,这样你可以看着哪些App拿锁了,拿了多长时间,然后,直接点击Greenify图标就可以干掉这个Google App。 下面是演示Greenify按钮的例子。
开机后,或者使用完Google App后,用Greenify的立刻休眠,干掉后台Google服务。注意,需要购买捐助包,因为Google都是system下的应用。仔细看下面的图,Google的App建议要选择&休眠时无视状态&,Greenify会自动提示你的。建议使用Tasker创建任务,在开机20秒后,自动执行&立刻休眠&。现在最新版本的Greenify已经支持Tasker对任意的App休眠了,用户可以根据自己的需要设计休眠任务。 最后,试试效果,长时间的睡眠也没有问题。
总结:在Google上搜索&Google app battery drain&,可以搜到很多类似的问题,其中也有回答:比如:
用Wakelock Terminator,或者Pre App Hacking禁止App获取Wakelock,看似可行,实际没有效果,因为他们针对的是具体的App(比如有图标),有些Wakelock没法在这些应用中找到,所以,这类软件没有效果。
这个用于改善自动同步模式下的Google Service,如果没有GFW,这个可能会有效果。对于墙内,自动同步的实际效果不如手动同步划算,至少对本人如此。
从我实际操作的结果来看,这些方案的效果不及我的好使。
手机扫描下方二维码,关注php100官方微信。
同步官网每日更新,为您带来随时随地的资讯与技术信息。更有不定期的互动抽奖活动,赢取实用贴心的小礼物。
除非特别声明,PHP100新闻均为原创或投稿报道,转载请注明作者及原文链接原文地址:
haowubai&&
友情链接与合作伙伴
粤ICP备号-3Service Unavailable}

我要回帖

更多关于 安卓获取当前activity 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信