Я хочу вызвать функцию startActivity двумя способами:
Первый (работает):
public class HelloWorld extends Activity
{
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId() == 1){
startActivity(new Intent(Intent.ACTION_DIAL,Uri.parse("tel:660718109")));
}
else {
return super.onOptionsItemSelected(item);
}
return true;
}
Второй: в HelloActivity.java
public class HelloWorld extends Activity {
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId() == 1){
IntentsUtils.tryOneOfThese(this);
}
else {
return super.onOptionsItemSelected(item);
}
return true;
}
в IntentsUtils.java
public class IntentsUtils
{
public static void tryOneOfThese(Activity activity)
{
IntentsUtils.call(activity);
}
public static void call(Activity activity)
{
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:5555555555"));
Log.v("MyLogs", "It's works!");
activity.startActivity(intent);
}
}
Второй способ не работает - у меня возникает ошибка в приложении, когда я нажимаю на позицию в меню.Я знаю, что функция "call" в IntentsUtils работает, потому что аналитические журналы в "LogCat"
Это мои журналы от LogCat: android.permission.CALL_PHONE
android.permission.CALL_PHONE> 10-27 16: 10: 56.702:
WARN / ActivityManager (52): Отказ в разрешении: начало намерения {act = android.intent.action.CALL dat = тел: 5555555555 flg = 0x10000000 cmp = com.android.phone / .OutgoingCallBroadcaster} из ProcessRecord {43dbf4b8 363: com.androidbook / 10025} (pid = 363, uid = 10025) требует android.permission.CALL_PHONE
10-27 16: 10: 56.722: WARN / dalvikvm(363): threadid = 3: поток, выходящий с неперехваченным исключением (группа = 0x4001b188)
10-27 16: 10: 56.722: ОШИБКА / AndroidRuntime (363): обработчик Uncaught: основной поток потока выходит из-за непогашенного исключения
10-27 16: 10: 56.752: ОШИБКА / AndroidRuntime (363): java.lang.SecurityException: Отказ в разрешении: начало намерения {act = android.intent.action.CALL dat = тел: 5555555555 flg =0x10000000 cmp = com.android.phone / .OutgoingCallBroadcaster} из ProcessRecord {43dbf4b8 363: com.androidbook / 10025} (pid = 363, uid = 10025) требуется android.permission.CALL_PHONEandroid.permission.CALL_PHONE
Заранее спасибо, Майкл