小编nic*_*kjm的帖子

如何在更改相机权限后阻止iOS应用重置?

目前,当我在"设置"中更改我的应用程序的相机权限时,然后导航回我的应用程序,该应用程序将强制刷新,我将失去我在应用程序中的位置.我完全按照以下步骤操作:

  1. 打开使用相机权限的应用.
  2. 导航到应用程序中的某个屏幕(这样您可以在以后看到刷新)
  3. 转到"设置"应用,导航到应用的设置,然后切换相机权限
  4. 双击主页并返回应用程序.几秒钟后,它会刷新,让你回到第一个屏幕

注意:我正在使用运行iOS 8.4的iPhone 6

我在所有拥有相机权限的应用上都注意到了此行为.我的问题是: 在更改相机权限后,是否有某种方法可以阻止应用刷新/重启(恢复时)?例如,当您切换位置服务时似乎没有发生这种情况,从可用性的角度来看,这很糟糕.

用户场景:如果用户深入导航到您的应用程序,然后需要更改摄像头权限(因为他们上次不小心意外点击),他们将被迫在返回时导航回该屏幕.这对于试图向您推销某些内容或为您注册新帐户的应用程序尤其有害.他们可能会尝试引入一项新功能,您可以使用相机拍摄个人资料照片或扫描信用卡.由于用户不知道此功能,他们可能先前已拒绝摄像头访问,但现在想要启用它.尝试重新启用后,他们会回到您的应用程序,发现他们必须再花5分钟以上注册/进行购买!在那之后,即使我可能会放弃.

user-permissions ios ios-camera ios8

12
推荐指数
1
解决办法
6674
查看次数

在Android Wear上实现GridViewPager的正确方法是什么?

我正在尝试实现GridViewPager,因此我可以在2个独特的视图之间切换.到目前为止,我根本无法添加任何视图.以下是我的代码

public class Gridder extends Activity {

private TextView mTextView;
GridViewPager gridViewPager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_gridder);
    final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
    final LayoutInflater inflater = getLayoutInflater();
    stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
        @Override
        public void onLayoutInflated(WatchViewStub stub) {
            gridViewPager = (GridViewPager) findViewById(R.id.pager);
            gridViewPager.setAdapter(new MyGridViewPagerAdapter());
            gridViewPager.addView(inflater.inflate(R.layout.selector_generic, stub));;
        }
    });
}

private class MyGridViewPagerAdapter extends GridPagerAdapter {
    @Override
    protected void destroyItem(ViewGroup arg0, int arg1, int arg2, Object arg3) {
    }

    @Override
    public int getColumnCount(int arg0) {
        return 1;
    }

    @Override …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-view android-viewpager wear-os

7
推荐指数
1
解决办法
7183
查看次数

如何指定用于 Android 可穿戴设备的布局?

我有一个带有 onTouch 方法的自定义视图,该视图使用自己的 xml 布局启动另一个活动。如果我在已缩放到观看大小的模拟器上运行该程序(是的,仅缩放,普通模拟器就可以),它会创建一个包含圆形和矩形布局文件的新活动实例。另外 logcat 说 eglSurfaceAttrib 没有实现。

因为这只发生在缩放模拟器上,它只是模拟器的一个错误吗?我还没有真正的安卓手表。或者有没有办法将某些属性与启动活动的意图一起打包,以使其知道我想要其中一个布局?

编辑:无论大小/形状如何,模拟器都存在此问题

android android-layout wear-os

5
推荐指数
1
解决办法
527
查看次数

聚合物纸按钮无法渲染

我下载了Polymer入门套件(Polymer 1.0),并且一直在尝试在我的网页上添加一个简单的纸质按钮,但它无法正确渲染.这是相关代码:

<section data-route="home">
      <paper-material elevation="1">

        <paper-button raisedButton
          id='rendered'
          label='patient'
          on-click='{{clickHandler}}'></paper-button>

        <button>Try Me</button>

        <paper-icon-button icon="refresh" label="label"></paper-icon-button>
        <paper-button raisedButton>search!</paper-button>

      </paper-material>

    </section>
Run Code Online (Sandbox Code Playgroud)

第一个按钮根本没有显示,第二个按钮没有显示,第三个按钮工作,但标签没有显示,最后一个按钮呈现为文本,不可点击

结果

web-component web paper-elements polymer-1.0

3
推荐指数
1
解决办法
1749
查看次数

如何创建 Notification.Action 并将其添加到自定义通知

我在这里按照谷歌的说明https://developer.android.com/training/wearables/notifications/creating.html

然而,不出所料,他们的代码不起作用。具体来说,我正在尝试这样做:

// Build the notification and add the action via WearableExtender
        Notification notification =
                new Notification.Builder(context)
                        .setSmallIcon(R.drawable.buzz_icon)
                        .setContentTitle("Buzz")
                        .setContentText("OpenBuzz")
                        .extend(new Notification.WearableExtender().addAction(action))
                        .build();
Run Code Online (Sandbox Code Playgroud)

我想要一个特定于可穿戴设备的操作,所以我别无选择,只能使用Notification.WearableExtender(). 但它的 addAction 方法只接受一个动作作为它的参数。这是我创建动作的代码:

            Notification.Action action =
                Notification.Action.Builder(R.drawable.buzz_icon, actionIntent.toString(), pendingIntent);
Run Code Online (Sandbox Code Playgroud)

哪个不起作用,因为 Android Studio 说“预期方法调用”如何成功创建Notification.Action? 或者我还可以如何向我的通知添加可穿戴设备的特定操作?

android android-notifications android-support-library wear-os

2
推荐指数
1
解决办法
6005
查看次数