Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android MainActivity在电话中失败_Android_Android Activity - Fatal编程技术网

Android MainActivity在电话中失败

Android MainActivity在电话中失败,android,android-activity,Android,Android Activity,我正在做一个非常简单的例子,我想要一个按钮来生成通知。我不是在寻找互动(所以没有意图);只需要发布一个简单的通知。 UI只包含一个按钮,单击该按钮可生成通知 代码如下: package ank.notificationdemo; import android.R.drawable; import android.os.Bundle; import android.app.Activity; import android.app.Notification; import android.app.

我正在做一个非常简单的例子,我想要一个按钮来生成通知。我不是在寻找互动(所以没有意图);只需要发布一个简单的通知。 UI只包含一个按钮,单击该按钮可生成通知

代码如下:

package ank.notificationdemo;

import android.R.drawable;
import android.os.Bundle;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {
    Button btn_notify;
    Notification noti;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btn_notify = (Button) findViewById(R.id.btn_notify);
        noti = new Notification.Builder(MainActivity.this)
               .setContentTitle("Alert!").setContentText("Shipwreck at 22N-56E. Hurry!").setSmallIcon(drawable.ic_dialog_alert)
               .build();

        btn_notify.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                NotificationManager mgr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
                noti.flags |= Notification.FLAG_AUTO_CANCEL;
                mgr.notify(100, noti);
            }
        });
    }
}
问题是,这可以在模拟器上运行,但主活动无法加载到我的Android手机上(运行ICS)。然而,其他例子效果良好

有没有关于可能出了什么问题的线索


提前谢谢

我记得我的Nexus4也有类似的问题。但是,通过在NotificationBuilder中设置意图解决了此问题。

确定

尝试了您的代码,结果发现问题在于使用
Notification.Builder.build()

看起来他们只是在Jelly Bean和支持库的最新更新中将其更改为
.build()


因此,只需导入新的支持库并使用
NotificationCompat.Builder
。应该能解决你的问题

您能提供logcat报告吗?要收集logcat报告,请使用'adb logcat'@Dimmerg。您是指来自Eclipse IDE的logcat报告吗?在我看来,它的尺寸相当大。我应该把所有东西都粘贴到这里,还是把文本文件上传到某个地方并提供链接?(如果问题是哑的,很抱歉!)你在log cat中看到堆栈跟踪吗?@ankush你可以将其粘贴到pastebin.com上,并在此处提供链接。请注意红色字符串-这是堆栈跟踪和错误描述。但这意味着我的应用程序在低于4.0的版本上会中断,不是吗?如果使用支持库,则不会。如果您使用该方法,那么.build()方法将很好地工作。非常感谢您!谢谢,谢谢,谢谢!!在过去的两天里,我一直在思考这个问题,最终我找到了一个有效的方法!但是“看起来他们只是在Jelly Bean和支持库的最新更新中将其更改为.build()”是什么意思?这是否意味着整个类结构都被一个.build()替换了?如果不是的话,以前不是也是.build()吗?请解释一下,非常感谢!以前的方法是
.getNotification()
。所以JB(4.1-)之前的任何东西都必须使用它。我认为,他们在JB中对其进行了修改,以使其在最佳实践方面更为正确,也就是说,拥有一个不构建的构建器是毫无意义的。然后,为了适应现有的应用程序,它们将相同的更改放在支持库中,因此现在您可以只参考
NotificationCompat
,并可以使用
.build()
。希望这能解释…哈哈哈哈。还是有点模糊,但你做得很好!我非常感谢!不幸的是,添加意图仍然会崩溃。如何将修改后的代码粘贴到此处?