Я попытался выполнить пример приложения Intent, но я получаю следующие ошибки в Java-файле:
DIAL_ACTION не может быть разрешено или не является полем NEW_TASK_LAUNCH не может быть разрешено илиэто не поле
Вот мой код:
package android_programmers_guide.AndroidTeleDial; import android.app.Activity; import android.os.Bundle; import android.content.Intent; import android.net.Uri; public class AndroidTeleDial extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Intent DialIntent=new Intent(Intent.DIAL_ACTION,Uri.parse("tel:5551212")); DialIntent.setLaunchFlags(Intent.NEW_TASK_LAUNCH); startActivity(DialIntent); } }
Это Intent.ACTION_DIAL .
Чтобы избежать ошибок такого рода, если вы используете eclipse, используйте функцию автозаполнения: при вводе слова нажмите ctrl + пробели откроется список возможных завершений.
Таким образом, при попытке автоматического завершения Intent.DIAL вы обнаружите, что в классе Intent такого члена нет.
Intent.DIAL
Intent
Попробуйте этот код.
package android_programmers_guide.AndroidPhoneDialer; import android.app.Activity; import android.os.Bundle; import android.content.Intent; import android.net.Uri; public class AndroidPhoneDialer extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Intent DialIntent = new Intent(Intent.ACTION_DIAL,Uri.parse("tel:5551212")); DialIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(DialIntent); } }
Я не думаю, что setLaunchFlags() используется больше.Я думаю, вам просто нужно установить флаг:
setLaunchFlags()
Intent.FLAG_ACTIVITY_NEW_TASK
И, как говорится в @bigstones, вы также должны использовать Intent.ACTION_DIAL.
Intent.ACTION_DIAL