我想調用函數startActivity有兩種方式:調用其他類文件中的函數 「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);
}
}
第二種方法不起作用 - 當我點擊菜單中的位置時,在應用程序中出現錯誤。我知道功能 「通話」 中IntentsUtils在 「logcat的」,因爲analise日誌工作
這是我的日誌從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 } from ProcessRecord {43 dbf4b8 363:com.androidbook/10025}(PID = 363, UID = 10025)需要 android.permission.CALL_PHONE
10-27 16:10:56.722: WARN/dalvikvm(363):主題ID = 3:螺紋 與未捕獲的異常 離開(組= 0x4001b188)
10-27 16:10:56.722: ERROR/AndroidRuntime(363):未捕獲 處理程序:線程退出主要由於 未捕獲的異常
10-27 16:10:56.752: ERROR/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預先
謝謝, 邁克爾
您可以發佈您在LogCat中獲得的確切錯誤嗎? – cottonBallPaws 2010-10-27 15:53:32