【问题标题】:Project apk crashing on real world device项目 apk 在现实世界的设备上崩溃
【发布时间】:2012-07-07 19:06:23
【问题描述】:

我的 android 项目有问题!我创建了一个偏好意图,它在模拟器中运行良好。但是当我通过手机的菜单键传输项目并启动首选项时,它停止工作并关闭!我想知道它是怎么回事!

我的设备是:Xperia Mini Pro --> 运行 Android ICS 4.0.4

代码是,

偏好类:

package com.sliit.droidman.main;

import com.sliit.droidman.R;

import android.os.Bundle;
import android.preference.PreferenceActivity;

public class Prefs extends PreferenceActivity{

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.prefs);
}
}

偏好xml文件:

 <?xml version="1.0" encoding="utf-8"?>
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
 <EditTextPreference
    android:title="Edit text"
    android:key="name"
    android:summary="enter your name"
 ></EditTextPreference>
 <CheckBoxPreference
    android:title="Music"
    android:defaultValue="true"
    android:key="checkbox"
    android:summary="check this box"
 ></CheckBoxPreference>
 <ListPreference
    android:title="list"
    android:key="list"
    android:summary="this is a list to choose from"
    android:entries="@array/list"
    android:entryValues="@array/lValues"
 ></ListPreference>
 </PreferenceScreen>

偏好被调用的地方:

 SharedPreferences getprefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
    boolean music = getprefs.getBoolean("checkbox", true);
    if (music == true) {
        splashmp3.start();
    }

我在这里做错了什么!我对模拟器没有任何问题!但是设备存在问题!因为我以前有一个以相同方式开发的应用程序,所以我在设备中运行它,它在首选项上运行良好。但是这股力量关闭了。我是否必须授予任何权限!哎哟

【问题讨论】:

    标签: android android-layout android-intent android-emulator


    【解决方案1】:

    我发现了导致错误的原因。这是我在开关盒中创建首选项意图的错误。 :) 我打错了类名。所以我纠正了它,现在它就像魔术一样工作!

      switch (item.getItemId()) {
        case R.id.about:
            startActivity(new Intent(this, About.class));
            break;
        case R.id.prefs:
            Intent prefs = new Intent("com.cdap.droidman.PREFS");
            startActivity(prefs);
            break;
        case R.id.exit:
            finish();
            break;
        }
    

    【讨论】:

    • 应该是Intent prefs = new Intent(this, prefs.class);
    猜你喜欢
    • 2021-05-27
    • 2020-06-03
    • 2023-02-17
    • 2014-05-31
    • 2020-04-23
    • 1970-01-01
    • 2021-07-12
    • 2021-08-12
    • 2021-07-31
    相关资源
    最近更新 更多