2014-09-22 62 views
2

主要activity.java如何解决这个意图过滤器问题。我无法识别它?

package com.example.webwerks.intentfilterdemo; 

import android.app.Activity; 
import android.content.Intent; 
import android.net.Uri; 
import android.support.v7.app.ActionBarActivity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 


public class MyActivity extends Activity { 
EditText edit; 
Button sms1,sms2; 
String Abc = "ABC"; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_my); 
    edit = (EditText)findViewById(R.id.editText); 
    sms1 = (Button)findViewById(R.id.button2); 
    sms1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      String uri = "sms to" + edit.getText().toString(); 
      Intent i = new Intent(android.content.Intent.ACTION_SENDTO, Uri.parse(uri)); 
      startActivity(i); 
     } 
    }); 
    sms2 = (Button)findViewById(R.id.button3); 
    sms2.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      String uri = "sms to:" + edit.getText().toString(); 
      Intent i = new Intent("com.example.webwerks.intentfilterdemo.SMS_INTENT",Uri.parse(uri)); 
      i.putExtra("from",Abc); 
      startActivity(i); 
     } 

    }); 
} 



} 

Android清单

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.webwerks.intentfilterdemo" > 
<uses-permission android:name="android.permission.SEND_SMS"></uses-permission> 
<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".MyActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".MySmsActivity" 
     android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.SEND" /> 
      <action android:name="com.example.webwerks.intentfilterdemo.SMS_INTENT" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <data android:scheme="smsto" /> 
      </intent-filter> 
    </activity> 
    </application> 

</manifest> 

logcat的

09-22 09:10:48.731 18542-18542/com.example.webwerks.intentfilterdemo  E/AndroidRuntime﹕ FATAL EXCEPTION: main 
Process: com.example.webwerks.intentfilterdemo, PID: 18542 
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.example.webwerks.intentfilterdemo.SMS_INTENT dat=sms to:1345677 (has extras) } 
     at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1723) 
     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1491) 
     at android.app.Activity.startActivityForResult(Activity.java:3436) 
     at android.app.Activity.startActivityForResult(Activity.java:3393) 
     at android.app.Activity.startActivity(Activity.java:3644) 
     at android.app.Activity.startActivity(Activity.java:3607) 
     at com.example.webwerks.intentfilterdemo.MyActivity$2.onClick(MyActivity.java:40) 
     at android.view.View.performClick(View.java:4456) 
     at android.view.View$PerformClick.run(View.java:18465) 
     at android.os.Handler.handleCallback(Handler.java:733) 
     at android.os.Handler.dispatchMessage(Handler.java:95) 
     at android.os.Looper.loop(Looper.java:136) 
     at android.app.ActivityThread.main(ActivityThread.java:5086) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at  com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
     at dalvik.system.NativeStart.main(Native Method) 

请帮我这个错误,我无法化解它,因为我是新到Android 我我没有得到这个确切的错误。 期待在您最热烈的回复 预先感谢您! :)

回答

4

的问题在我用这主要activity.java排序 :

String uri = "sms to:" + edit.getText().toString(); 

而在清单我宣布它作为

<data android:scheme="smsto" /> 

所以在架构的改变

反正谢谢大家:)

0

可能是因为您未授予互联网许可,请尝试添加下面的权限。

<uses-permission android:name="android.permission.INTERNET" /> 
+0

在应用程序中没有任何东西使用internet.But然后我也尝试过,但它并没有帮助我 – frost 2014-09-22 04:38:58