0
これは特定の番号を呼び出し、Android M以下で動作するダイレクトショートカットを作成するためのコードの例です。Android Nで番号を呼び出すためのショートカットを作成できません
public void installShortcutGetId(){
Intent intent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME,"MyCallShortcut");
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_CALL, Uri.parse("tel:77777777")));
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(context, android.R.drawable.sym_def_app_icon));
context.sendBroadcast(intent);
}
同じコードは、Android Nにもう動作しません、私はlogcatに次のように見ることができます:
/com.android.launcher3 E/InstallShortcutReceiver: Ignoring malicious intent tel:77777777#Intent;action=android.intent.action.CALL;end
私はACTION_DIALにACTION_CALLを変更すると、それはAndroidのN上で動作しますが、それはありません私が探しているもの。ショートカットから直接電話をかける方法を探しています。
私はこれらの2つを含み、実行時にCALL_PHONEを要求しました。
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<uses-permission android:name="android.permission.CALL_PHONE" />
'installShortcutGetId()' – petey
を確実に実行する前に許可を要求しましたか? @petey – lyc001