2011-08-23 53 views
0

我在android中發送mms有問題。我見過很多例子,但沒有一個從res/drawable發送圖像,這正是我正在嘗試做的。請幫我發現問題。android MMS發送錯誤

public class Main extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    Uri uri = Uri.parse("android.resource://com.mypackage/" + R.drawable.myimage); 
    Intent sendIntent = new Intent(Intent.ACTION_SEND); 
    sendIntent.putExtra("sms_body", "some text"); 
    sendIntent.putExtra(Intent.EXTRA_STREAM, uri); 
    sendIntent.setType("image/png"); 
    startActivity(sendIntent); 
} 

這裏是我的錯誤消息:

08-23 23:09:55.653:ERROR/AndroidRuntime(2205):致命異常:主 08-23 23:09:55.653:ERROR/AndroidRuntime (2205):java.lang.RuntimeException:無法啓動活動ComponentInfo {com.android.mms/com.android.mms.ui.ComposeMessageActivity}:java.lang.NullPointerException 08-23 23:09:55.653:錯誤/ AndroidRuntime(2205):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 08-23 23:09:55.653:ERROR/AndroidRuntime(2205):at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java: 2679) 08-23 23:09:55.653:ERROR/AndroidRuntime(2205):at android.app.ActivityThread.access $ 2300(ActivityThread.java:125) 08-23 23:09:55.653:ERROR/AndroidRuntime(2205): at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2033) 08-23 23:09:55.653:ERROR/AndroidRuntime(2205):at android.os.Handler.dispatchMessage(Handler.java:99) 08-23 23:09:55.653:ERROR/AndroidRuntime(2205):at android.os.Looper.loop(Looper.java:123) 08-23 23:09:55.653:ERROR/AndroidRuntime(2205):at android .app.ActivityThread.main(ActivityThread.java:4627) 08-23 23:09:55.653:ERROR/AndroidRuntime(2205):at java.lang.reflect.Method.invokeNative(Native Method) 08-23 23: 09:55.653:ERROR/AndroidRuntime(2205):at java.lang.reflect.Method.invoke(Method.java:521) 08 -23 23:09:55.653:ERROR/AndroidRuntime(2205):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868) 08-23 23:09:55.653:ERROR/AndroidRuntime( 2205):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 08-23 23:09:55.653:ERROR/AndroidRuntime(2205):at dalvik.system.NativeStart.main(Native Method ) 08-23 23:09:55.653:ERROR/AndroidRuntime(2205):引起:java.lang.NullPointerException 08-23 23:09:55.653:ERROR/AndroidRuntime(2205):at com.android.mms。 ui.UriImage。(UriImage.java:68) 08-23 23:09:55.653:ERROR/AndroidRuntime(2205):at com.android.mms.model.ImageModel.initModelFromUri(ImageModel.java:82) 08- 23 23:09:55.653:錯誤/ AndroidRuntime(2205):at com.android.mms.model.ImageModel。(ImageModel.java:64) 08-23 23:09:55.653 :錯誤/ AndroidRuntime(2205):在com.android.mms.data.WorkingMessage.changeMedia(WorkingMessage.java:461) 08-23 23:09:55.653:錯誤/ AndroidRuntime(2205):at com.android.mms .data.WorkingMessage.setAttachment(WorkingMessage.java:362) 08-23 23:09:55.653:ERROR/AndroidRuntime(2205):at com.android.mms.ui.ComposeMessageActivity.addImage(ComposeMessageActivity.java:2640) 08-23 23:09:55.653:ERROR/AndroidRuntime(2205):at com.android.mms.ui.ComposeMessageActivity.addAttachment(ComposeMessageActivity.java:2776) 08-23 23:09:55.653:ERROR/AndroidRuntime(2205 ):at com.android.mms.ui.ComposeMessageActivity.handleSendIntent(ComposeMessageActivity.java:2705) 08-23 23:09:55.653:ERROR/AndroidRuntime(2205):at com.android.mms.ui.ComposeMessageActivity.initialize (ComposeMessageActivity.java:1743) 08-23 23:09 :55.653:錯誤/ AndroidRuntime(2205):at com.android.mms.ui.ComposeMessageActivity.onCreate(ComposeMessageActivity.java:1678) 08-23 23:09:55.653:錯誤/ AndroidRuntime(2205):在android.app .Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 08-23 23:09:55.653:ERROR/AndroidRuntime(2205):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 08-23 23:09 :55.653:錯誤/ AndroidRuntime(2205):...11更多

回答

1

您無法直接向外界公開應用程序資源。您可以嘗試執行content providerLINK

使用此功能,您可以向您發送自己的自定義uri,並且在搜索文件時可以從資源中打開文件並提供該文件。

您必須檢查manifest.xml以及內容提供者的相對輸入。

+0

謝謝你的幫助!問題解決了! :-) –

+0

我很高興它做到了! – Samuel