Android 致命异常:content.ActivityNotFoundException
在这段代码中,我想按用户从收件箱中选择一条短信,然后在文本视图中显示它 当我运行此代码时,会出现异常 我不知道发生了什么,我能做些什么来解决它。 该代码如下所示:Android 致命异常:content.ActivityNotFoundException,android,exception,sms,Android,Exception,Sms,在这段代码中,我想按用户从收件箱中选择一条短信,然后在文本视图中显示它 当我运行此代码时,会出现异常 我不知道发生了什么,我能做些什么来解决它。 该代码如下所示: @SuppressWarnings("deprecation") public class Main extends Activity { private static final int PICK_SMS_MESSAGE=1; private TextView tv; @Override publ
@SuppressWarnings("deprecation")
public class Main extends Activity {
private static final int PICK_SMS_MESSAGE=1;
private TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button b=(Button) findViewById(R.id.btnPickSMS);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Uri uri=Uri.parse("content://mms-sms/inbox");
Intent intent=new Intent(Intent.ACTION_GET_CONTENT,uri);
intent.setType("vnd.android-dir/mms-sms");
Log.i("Log","Start");
startActivityForResult(intent, PICK_SMS_MESSAGE);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.i("Log","Point2");
if(resultCode==RESULT_OK)
{
if(requestCode==PICK_SMS_MESSAGE)
{
//Uri smsUri=data.getData();
//tv.setText();
Bundle bundle=data.getExtras();
Log.i("Log","Point3");
if(bundle!=null)
{
Object[] pdus=(Object[]) bundle.get("pdus");
for(Object o : pdus)
{
SmsMessage messages=SmsMessage.createFromPdu((byte[]) o);
tv.setText(messages.getDisplayMessageBody());
Log.i("Log","Point4");
}
}
}
}
//super.onActivityResult(requestCode, resultCode, data);
}
}
//------------------------------------------------------------------
例外情况如下所示:
FATAL EXCEPTION: main
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.CHOOSER typ=vnd.android-dir/mms-sms }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1409)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379)
at android.app.Activity.startActivityForResult(Activity.java:2827)
at aminrahdar.app.smspicker.Main$1.onClick(Main.java:35)
at android.view.View.performClick(View.java:2485)
at android.view.View$PerformClick.run(View.java:9080)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
有人能帮我吗?在
新意图(Intent.ACTION\u GET\u CONTENT,uri)
你想开始的活动的名称是什么?我在uri中没有看到它的正确类名。另外,@SuppressWarnings(“deprecation”)
对我来说似乎是一个非常糟糕的做法。正如我提到的,我想打开sms收件箱来选择一条消息,然后在TextView控件上显示消息内容。这是哪一个错误?我认为“content://mms-sms/inbox“是一个合适的URI。