打开Android应用时出错

时间:2015-04-07 06:41:40

标签: java android

我是Android开发的新手,我正在为我的大学项目编写一个应用程序。该应用程序传输存储在共享首选项中的一串数据。数据存储在一次性设置屏幕上,该屏幕永远不再显示。问题是第一次,当应用程序再次启动时,它显示"应用程序不幸停止工作"当我点击确定应用程序启动时。任何人都可以告诉我为什么会发生这种情况? 代码:

package com.example.homeautomation.zigbeehomeauto;

import android.annotation.TargetApi;
import android.content.SharedPreferences;
import android.nfc.NdefMessage;
import android.nfc.NdefRecord;
import android.nfc.NfcAdapter;
import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.Toast;


public class MainScreen extends ActionBarActivity {
    NdefMessage msg;
    NfcAdapter nfcadapter;
    public static final String PREFS_NAME = "MyPrefsFile";
    public String pass2 ;

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main_screen);
        SharedPreferences check = getSharedPreferences(PREFS_NAME, 0);
         String Pass = check.getString("Str", "Nothing");
        pass2 = Pass;
        nfcadapter = NfcAdapter.getDefaultAdapter(this);

        if (nfcadapter == null) {
            Toast.makeText(this, "NFC is not available User", Toast.LENGTH_LONG)
                    .show();
            finish();

        }







    }




    public void ExApp(View v) {

        finish();
        System.exit(0);
    }


    @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
    public void Nsend(View v)
    {
        byte[] stringBytes = pass2.getBytes();

        nfcadapter.setNdefPushMessage(msg = new NdefMessage(new NdefRecord[]{NdefRecord.createMime("text/plain", stringBytes)

        }),this);



    }
}

Logcat输出:

04-07 12:04:38.478  10836-10836/com.example.homeautomation.zigbeehomeauto E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.example.homeautomation.zigbeehomeauto, PID: 10836
    android.util.SuperNotCalledException: Activity {com.example.homeautomation.zigbeehomeauto/com.example.homeautomation.zigbeehomeauto.SetupScreen} did not call through to super.onCreate()
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2510)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2603)
            at android.app.ActivityThread.access$900(ActivityThread.java:174)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:146)
            at android.app.ActivityThread.main(ActivityThread.java:5752)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
            at dalvik.system.NativeStart.main(Native Method)

2 个答案:

答案 0 :(得分:2)

检入 SetupScreen.java 你有super.onCreate(savedInstanceState);吗? 在onCreate()方法开始后。

发布您的SetupScreen.java代码..

答案 1 :(得分:1)

您的onCreate()课程SetupScreen方法不会调用super.onCreate()。添加语句,错误就会消失。