E / MotionRecognitionManager:mSContextService导致应用程序在我的Android手机上崩溃

时间:2016-10-30 16:54:42

标签: java android xml sharedpreferences

这里有一个与此类似的问题:Motion Recognition Manager and motion-Service in android

我问我的是因为有一条评论请求错误发生的代码并且没有提供代码。这是我的第一个问题,所以我希望我没有做错或粗鲁的事。

我正在开发一个解析RSS源的应用程序,并具有用户可以更改的设置,如背景颜色,文本颜色,用户名。这些设置保存在共享首选项中。

该应用程序在模拟器中完美运行。在之前的迭代中,在我添加共享首选项功能之前,我能够在我的个人三星Galaxy s6手机上运行该应用程序。现在,它不会在我的手机上运行。

我正在ListView中显示Feed。设置已从ListPreferences更改。

我的logcat看起来像这样:

10/30 10:33:34: Launching app
$ adb push C:\Users\Jennifer\AndroidStudioProjects\RSSAssignment7\app\build\outputs\apk\app-debug.apk /data/local/tmp/com.example.jennifer.rssassignment7

$ adb shell pm install -r "/data/local/tmp/com.example.jennifer.rssassignment7"
    pkg: /data/local/tmp/com.example.jennifer.rssassignment7
Success


$ adb shell am start -n "com.example.jennifer.rssassignment7/com.example.jennifer.rssassignment7.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Client not ready yet..Waiting for process to come online
Connected to process 14137 on device samsung-sm_g920w8-1215fc28c4943e05

W/System: ClassLoader referenced unknown path: /data/app/com.example.jennifer.rssassignment7-1/lib/arm64

D/InjectionManager: InjectionManager
D/InjectionManager: fillFeatureStoreMap com.example.jennifer.rssassignment7

I/InjectionManager: Constructor com.example.jennifer.rssassignment7, Feature store :{}
I/InjectionManager: featureStore :{}

W/ResourcesManager: getTopLevelResources: /data/app/com.example.jennifer.rssassignment7-1/base.apk / 1.0 running in com.example.jennifer.rssassignment7 rsrc of package com.example.jennifer.rssassignment7

W/ResourcesManager: getTopLevelResources: /data/app/com.example.jennifer.rssassignment7-1/base.apk / 1.0 running in com.example.jennifer.rssassignment7 rsrc of package com.example.jennifer.rssassignment7

W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable

D/AbsListView: Get MotionRecognitionManager

E/MotionRecognitionManager: mSContextService = android.hardware.scontext.ISContextService$Stub$Proxy@8089b26

E/MotionRecognitionManager: motionService = com.samsung.android.motion.IMotionRecognitionService$Stub$Proxy@53d367

E/MotionRecognitionManager: motionService = com.samsung.android.motion.IMotionRecognitionService$Stub$Proxy@53d367

Application terminated.

代码示例,其中一个ListPreferences

在preferences.xml中:

<ListPreference
    android:title="Choose Your Text Color"
    android:summary="We'll save your choice for next time."
    android:key="color"
    android:defaultValue="#000000"
    android:entries="@array/colorArray"
    android:entryValues="@array/colorValues" />

在array.xml中:

<!--color array-->
<string-array name="colorArray">
    <item>Black - black text is not visible on a black background</item>
    <item>Burgundy</item>
    <item>Green</item>
    <item>Blue</item>
    <item>White - white text is not visible on a white background</item>
</string-array>

<string-array name="colorValues">
    <item>#000000</item>
    <item>#800020</item>
    <item>#3C8D0D</item>
    <item>#7068FF</item>
    <item>#ffffff</item>
</string-array>

在活动中:

public class MainActivity extends AppCompatActivity { ...

    TextView titleView, descriptionView;

    titleView = (TextView) findViewById(R.id.titleView);

    descriptionView = (TextView) findViewById(R.id.descriptionView);

    //get text color and background color from shared preferences
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
    color = prefs.getString("color", "1");

    if(!(color == null)) {
        titleView.setTextColor(Color.parseColor(color));
        descriptionView.setTextColor(Color.parseColor(color));
    } else {
        titleView.setTextColor(BLACK);
        descriptionView.setTextColor(BLACK);
    }

TextViews的xml:

<TextView
    android:layout_width="wrap_content"
    android:id= "@+id/titleView"
    android:layout_height="wrap_content"
    style="@style/CodeFont"
    android:textColor="#000000"/>
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id= "@+id/descriptionView"
    style="@style/CodeFont"
    android:layout_below="@+id/linkView"/>

我在第一次运行应用程序时将其作为默认设置放入其他地方,共享首选项中没有任何内容保存。我不确定是否有必要,但是当应用程序在我的手机上崩溃时我添加了它,认为它崩溃的原因是没有存储的设置。

该应用程序安装在我的手机上并立即崩溃。我试着看看它的设置,但是从来没有任何改变。我已经尝试卸载并重新安装该应用程序。同样,它不适用于我的手机,但它在模拟器上完美运行。

有人可以提供建议来帮助我的应用在手机上运行吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

color = prefs.getString("color", "1");中的{{1}}似乎不是有效的颜色值(支持的格式为:#RRGGBB #AARRGGBB或以下名称之一:'red','blue','green','black ','白色','灰色','青色','品红色','黄色','浅灰色','darkgray','灰色','浅灰色','darkgrey','浅绿色','紫红色', 'lime','maroon','navy','olive','purple','silver','teal'。)看看Official Documentation