In the documentation用于新的"固定快捷键" Android O中的功能,他们提到"您还可以创建一个专门的活动,帮助用户创建快捷方式,完成自定义选项和确认按钮"。
我尝试按照文档进行操作,但是当我尝试创建新的快捷方式时,我只看到了默认对话框,而不是我的活动。
这是“清单”中的声明:
<activity android:name=".ShortcutActivity">
<intent-filter>
<action android:name="android.intent.action.CREATE_SHORTCUT"/>
</intent-filter>
</activity>
P.S
在文档中,他们还在Gmail应用程序中显示了一个示例 - 如何进入该屏幕?我想看看流程,但我无法找到它。
答案 0 :(得分:3)
您必须创建一个新的活动作为对话框,然后您可以在该对话框中添加所需的任何选项,并根据需要处理addShortcut
方法。
我尝试使用该代码添加和删除动态快捷方式,但它确实有效。
<强>的AndroidManifest.xml 强>
<activity android:name=".DialogActivity"
android:excludeFromRecents="true"
android:theme="@style/Theme.AppCompat.Dialog"
>
...
</activity>
<强> DialogActivity.java 强>
public class DialogActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dialog);
this.setFinishOnTouchOutside(false);
findViewById(R.id.add_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
addShortcut();
}
});
findViewById(R.id.cancel_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
...
}
<强> activity_dialog.xml 强>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_dialog"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.metax.myapplication.DialogActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Do you want to add shortcut?"/>
<Button
android:id="@+id/cancel_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_alignParentStart="true"
android:text="No thanks"/>
<Button
android:id="@+id/add_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_alignParentEnd="true"
android:text="Add me"/>
</RelativeLayout>
答案 1 :(得分:0)
在Java类中插入
private static void sendOntologyToFuseki(DatasetAccessor accessor, OWLOntology owlModel){
Model model;
/*
..
conversion from OWLOntology to Model
..
*/
if(accessor != null){
accessor.add(model);
}
}
答案 2 :(得分:0)
要使用ACTION_CREATE_SHORTCUT操作启动快捷方式活动,请长按应用程序图标,然后按小部件图标,您会注意到1x1小部件,点击该按钮即可启动所需的活动。
此外,您还可以从您的应用中明确触发该意图以及某些所需的操作。
答案 3 :(得分:-2)
创建一个新的资源文件:res / xml / shortcuts.xml。这是您创建快捷方式的方法,在您完成清单中的必要更改之后
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<shortcut
android:shortcutId="compose"
android:enabled="true"
android:icon="@drawable/compose_icon"
android:shortcutShortLabel="@string/compose_shortcut_short_label1"
android:shortcutLongLabel="@string/compose_shortcut_long_label1"
android:shortcutDisabledMessage="@string/compose_disabled_message1">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="your package"
android:targetClass="com.example.myapplication.ComposeActivity" />
</shortcut>
<!-- Specify more shortcuts here. -->
</shortcuts>
在清单中,将其添加到活动代码
<meta-data android:name="android.app.shortcuts"
android:resource="@xml/shortcuts" />
如果您想阅读更多内容,请参阅此example,它解释了有关固定快捷方式,静态和动态快捷方式的信息。
这是来自谷歌的{{3}},在他们的样本回购
中