是否可以通过按下Android中主屏幕小部件中的按钮来启动呼叫?
我有以下代码,它不起作用,按下按钮不执行任何操作:
public class WidgetTestActivity extends AppWidgetProvider {
@Override
public void onEnabled(Context context)
{
RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.main);
String url = "tel:3334444";
Intent i = new Intent(Intent.ACTION_CALL);
i.setData(Uri.parse(url));
PendingIntent call1 = PendingIntent.getBroadcast(context, 0, i, 0);
remoteViews.setOnClickPendingIntent(R.id.button1, call1);
}
}
答案 0 :(得分:0)
AppWidgetProvider具有方法onRecive(Context context, Intent intent)
,您可以检查意图操作并执行所需的代码。
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
if(intent.getAction().equals(Intent.ACTION_CALL))
{
//DO WHAT YOU WANT
}
}
答案 1 :(得分:0)
您是否在Android Manifest中指定了CALL_PHONE权限?
http://developer.android.com/reference/android/Manifest.permission.html#CALL_PHONE
答案 2 :(得分:0)
我在接受这个问题的答案中找到了答案: