我正在为我自己的设备开发我自己的android系统,而不是使用一些商业手机。这意味着我控制了平台/android的构建。也就是说,我不是在开发android上的应用程序,而是在android内部工作。
我正在尝试显示祝酒词(或以其他方式通知用户),说明shutdownIfOverTemp()关闭的原因(例如,播放“电池过热,关闭”)。原因是我正在运行的电池有额外的关机条件,我希望用户知道哪个电池在运行(而不必查看一些日志)。
虽然谷歌调用文件AndroidService.java,但它不是服务,因为它没有扩展服务,它扩展了Binder (完整的源代码:r1.2/com/android/server/BatteryService.java/)
我不知道如何将上下文传递给Toast:
Toast toast = Toast.makeText( getApplicationContext(), "Battery overheating!", Toast.LENGTH_LONG);不工作,我在getApplicationContext()上得到一个未定义的符号:
target Java: services (out/target/common/obj/JAVA_LIBRARIES/services_intermediates/classes)
frameworks/base/services/java/com/android/server/BatteryService.java:244: cannot find symbol
symbol : method getApplicationContext()
location: class com.android.server.BatteryService
Toast toast = Toast.makeText(getApplicationContext(), "Battery overheating!", Toast.LENGTH_SHORT);添加这一点也没有帮助:
import android.widget.Toast;
import android.content.Context;
import android.content.ContextWrapper;发布于 2014-02-26 06:42:46
该类扩展了绑定器。
class BatteryService extends Binder {但是调用方法BatteryService时,已经将上下文作为其参数之一:
public BatteryService(Context context, LightsService lights) {
mContext = context;因此,在调用土司时使用mContest而不是getApplicationContest
试试看,汇报一下。
https://stackoverflow.com/questions/22030196
复制相似问题