2011-08-23 52 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