gpt4 book ai didi

android - BOOT_COMPLETED 后警报对话框中的空指针异常

转载 作者:太空狗 更新时间:2023-10-29 12:50:06 28 4
gpt4 key购买 nike

我想在设备启动完成时显示一个警告对话框。广播接收器没有问题,工作正常。但是当启动完成时,没有打开的 Activity ,因此我在这里得到 NullPointerException。在这种情况下如何显示对话框?这是我用来显示对话框的代码:

public class RestartReceiver extends BroadcastReceiver 
{
@Override
public void onReceive(Context context, Intent intent)
{

AlertDialog alertHelp;
AlertDialog.Builder dialog = new AlertDialog.Builder(context);
TextView m_timetext = new TextView(context );
m_timetext.setText("hello");
// m_timetext.setTextColor(getResources().getColor(R.color.dark_green));

LinearLayout linearLayout = new LinearLayout(context );
linearLayout.setLayoutParams( new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.FILL_PARENT));
linearLayout.setOrientation(1);
linearLayout.addView(m_timetext);

dialog.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {

}});

dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {

}});

alertHelp = dialog.create();
alertHelp.setView(linearLayout);
alertHelp.show();

Log.d("In","Switched On");
}
}

请帮帮我。提前致谢。

最佳答案

这是一个post关于如何去做。您可以从 here 获取源代码.

您的代码不起作用,因为您无法直接从广播接收器显示对话。您必须使用 Activity。此外,为了接收ACTION_BOOT_COMPLETED,您的 Activity 必须首先由用户或另一个应用程序明确启动(谷歌应用程序停止状态以获取更多信息)。

基本上,要实现所需的功能,您需要做:

  1. 创建显示对话框的透明 Activity 。
  2. 创建 BroadcastReceiver 接收 ACTION_BOOT_COMPLETED 并开始您的 Activity 。
  3. 在 list 中注册您的广播接收器并获得适当的许可。

此外,this问题提供了有关如何创建透明 Activity 的更多信息。

关于android - BOOT_COMPLETED 后警报对话框中的空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13082728/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com