preferences 에서 특정 항목을 누르면 몇가지 정보가 입력된 상태로 email 을 실행시키려고 합니다.

preferences.xml
        <PreferenceScreen
            android:title="@string/sendFeedBack"
            android:summary="@string/sendFeedBackSummary">
            <intent    android:action="com.msgcenter.FeedbackReceiver"/>               
        </PreferenceScreen>

AndroidManifest.xml
          <receiver android:name=".FeedbackReceiver">
            <intent-filter>
                <action android:name="com.msgcenter.FeedbackReceiver" />
            </intent-filter>
        </receiver>

FeedbackReceiver.java
~~
    @Override
    public void onReceive(Context context, Intent intent)
    {
        try
        {
            final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
            emailIntent.setType("plain/text");
            emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] { "webmaster@website.com" });
            emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "aa");
            emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "bb");
   
            PendingIntent emailPendingIntent = PendingIntent.getActivity(context, 111, emailIntent, -1);
            emailPendingIntent.send();
   
        }
        catch (Exception e)
        {
            Log.i("moon", "eee " + e);
        }

    }

preferences 에서 클릭하면 특별한 에러 표시 없이 instrumentation.class (Source not found) 에러만 나옵니다.

코드 상에서 sendBroadcast(new Intent("com.msgcenter.FeedbackReceiver"); 식으로 호출하면 작동은 잘 됩니다.

어떤식으로 해야 preferences 에서 sendbroadcast를 실행 또는 특정한 intent 를 실행 가능한지 궁금합니다.

또 코드로 FeedbackReceiver.java 를 실행하면

04-29 17:29:25.353: INFO/moon(2481): eee java.lang.NullPointerException

catch 에서 널포인트 익셉션이 발생하는것을 알수 있는데 잘못된 부분이 있는지도 궁금합니다.

공지사항을 다 읽었음