android点击按钮创建桌面快捷方式javaAndroid版本为12
在Android 12中,可以使用以下代码来创建桌面快捷方式:
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
ShortcutManager shortcutManager = getSystemService(ShortcutManager.class);
ShortcutInfo shortcut = new ShortcutInfo.Builder(this, "shortcut_id")
.setShortLabel("Shortcut")
.setLongLabel("Create Shortcut")
.setIcon(Icon.createWithResource(this, R.drawable.icon))
.setIntent(new Intent(this, MainActivity.class)
.setAction(Intent.ACTION_MAIN))
.build();
shortcutManager.setDynamicShortcuts(Arrays.asList(shortcut));
}
}
}
这段代码使用了ShortcutManager来创建桌面快捷方式,并使用ShortcutInfo.Builder来设置快捷方式的属性,如标签、图标和意图。在这个例子中,将快捷方式的图标设置为R.drawable.icon,并将点击快捷方式后打开的Activity设置为MainActivity。
请确保在AndroidManifest.xml文件中添加必要的权限和ShortcutManager的声明:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapplication">
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<application ...>
...
<activity android:name=".MainActivity">
...
</activity>
<meta-data
android:name="android.app.shortcuts"
android:resource="@xml/shortcuts" />
</application>
</manifest>
然后,创建一个名为shortcuts.xml的文件,将其保存在res/xml目录下,用于定义快捷方式。例如:
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<shortcut
android:shortcutId="shortcut_id"
android:enabled="true"
android:icon="@drawable/icon"
android:shortcutShortLabel="@string/shortcut_short_label"
android:shortcutLongLabel="@string/shortcut_long_label"
android:shortcutDisabledMessage="@string/shortcut_disabled_message">
<intent
android:action="android.intent.action.MAIN"
android:targetPackage="com.example.myapplication"
android:targetClass="com.example.myapplication.MainActivity" />
</shortcut>
</shortcuts>
确保将@string/shortcut_short_label、@string/shortcut_long_label和@string/shortcut_disabled_message替换为相应的字符串资源。
这样,当你运行应用程序并点击按钮时,将在桌面上创建一个新的快捷方式
原文地址: http://www.cveoy.top/t/topic/h094 著作权归作者所有。请勿转载和采集!